C++ primer 第五版 中文版 练习 10.35 个人code

来源:互联网 发布:雷蛇1800鼠标驱动 mac 编辑:程序博客网 时间:2024/05/16 05:19

C++ primer 第五版 中文版 练习 10.35

题目:使用普通迭代器逆序打印一个vector。

答:

这个提供以下两种:

1> 用了 goto 当然也可以用 break;个人觉得goto 明了些。

#include <iostream>#include <vector>#include <iterator>#include <algorithm>using namespace std;int main(){vector<int> ivect = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };for (auto e = ivect.end() - 1; e >= ivect.begin(); --e){cout << *e << " ";if (e == ivect.begin())goto end;}end:cout << endl;return 0;}
2> do - while 个人认为这个更好。没了硬跳出循环的控制。

#include <iostream>#include <vector>#include <iterator>#include <algorithm>using namespace std;int main(){vector<int> ivect = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };vector<int>::iterator iter = ivect.end();do{iter--;cout << *iter << " ";} while (iter != ivect.begin());cout << endl;return 0;}



0 0
原创粉丝点击