C++ primer 第五版 中文版 练习 10.37
题目:给定一个包含10个元素的vector,将位置3到7之间的元素按逆序拷贝到一个list中。
答:
- /*
- 给定一个包含10个元素的vector,将位置3到7之间的元素按逆序拷贝到一个list中。
- */
- #include <iostream>
- #include <algorithm>
- #include <vector>
- #include <list>
- #include <iterator>
- using namespace std;
- int main()
- {
- vector<int> ivect = { 1, 1, 2, 3, 5, 8, 13, 21, 34, 55 };
- list<int> ilist;
- ostream_iterator<int> out_iter(cout, " ");
- cout << "ivect中的值为:";
- copy(ivect.begin(), ivect.end(), out_iter);
- cout << endl;
- auto rb = ivect.rbegin() + 3;
- auto re = ivect.rend() - 2;
- for (; rb != re; ++rb)
- ilist.push_back(*rb);
- cout << "ilist中的值为:";
- copy(ilist.begin(), ilist.end(), out_iter);
- cout << endl;
- return 0;
- }