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;
}