我正在考虑斐波那契数列的递归方法的复杂性,我想尝试将数字存储在一个向量中,以便我的程序可以查看向量包含的最后两个数字以产生下一个。我编写了一个程序,我认为会使用指向向量最后一个元素的指针将下一个数字附加到 fibs 向量,但没有任何反应(当我在调用程序后打印向量时,它仍然只包含 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;
}
谢谢您的帮助!