gpt4 book ai didi

c++ - vector 中的斐波那契数列

转载 作者:行者123 更新时间:2023-11-30 04:15:39 27 4
gpt4 key购买 nike

我在考虑斐波那契数列递归方法的复杂性,我想尝试将数字存储在一个 vector 中,这样我的程序就可以查看该 vector 包含的最后两个数字以生成下一个数字。我写了一个程序,我认为会使用指向 vector 最后一个元素的指针将下一个数字附加到 fibs vector ,但没有任何反应(当我在调用该程序后打印 vector 时,它仍然只包含 0 和 1 我手动附加为边缘条件。

这是范围问题吗?

vector<int>fibs;
template <typename Iterator>
void newfib(Iterator it) {
fibs.push_back(*(it-1)+*(it-2));
}

int main () {

vector<int>fibs;
fibs.push_back(0); fibs.push_back(1);
newfib(fibs.end());
return 0;
}

感谢您的帮助!

最佳答案

您声明了两个具有相同名称的 vector :一个在全局范围内,第二个在 main 函数中。在函数 newfib 中,您附加到全局 vector ,但在 main 函数中,您打印局部,它保持不变。

例如,我建议避免使用全局变量并通过引用传递 vector 。

关于c++ - vector 中的斐波那契数列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18183640/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com