gpt4 book ai didi

c++ - 如何在递归函数中使用迭代器

转载 作者:太空宇宙 更新时间:2023-11-03 10:42:07 25 4
gpt4 key购买 nike

我正在学习 C++ 入门,在一个练习中,我必须执行一个递归函数来打印 vector 上的元素。

我这样做了:

void printVector(vector<int>::iterator it1, vector<int>::iterator it2) {
cout << *it1 << " ";
if (it1 != it2-1)
printVector((it1 + 1), it2);
}

是否有另一种形式来声明它,没有

if(it1!= ***IT2-1***)

我觉得这是一个平庸的解决方案,因为我找不到其他方法。

谢谢!!

最佳答案

您的函数不接受空范围,它应该接受,将退出条件放在递归函数的开头是个好主意:

void printVector(vector<int>::iterator it1, vector<int>::iterator it2) 
{
if( it1 == it2 ) return;
cout << *it1++ << " ";
printVector(it1, it2);
}

关于c++ - 如何在递归函数中使用迭代器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33509704/

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