练习 9.26:使用下面代码定义的 ia,将 ia 拷贝到一个 vector 和一个 list 中。使用单迭代器版本的erase从 list 中删除奇数元素,从vector中删除偶数元素。
int ia[] = { 0, 1, 1, 2, 3, 5, 8, 13, 21, 55, 89 };
#include <iostream>
#include <list>
#include <vector>
using std::cout;
using std::vector;
using std::list;
int main()
{
int ia[] = {0, 1, 1, 2, 3, 5, 8, 13, 21, 55, 89};
vector<int> v;
list<int> lst;
for (int i = 0; i <11; ++i )
{
v.push_back(ia[i]);
lst.push_back(ia[i]);
}
auto iter1 = v.begin();
while (iter1 != v.end())
if (*iter1 % 2 == 0)
iter1 = v.erase(iter1);
else
++iter1;
auto iter2 = lst.begin();
while (iter2 != lst.end())
if (*iter2 % 2)
iter2 = lst.erase(iter2);
else
++iter2;
cout << "删除偶数元素后,vector中剩余元素有:";
for (const auto &n : v)
cout << n << '\t';
cout << "\n删除奇数元素后,list中剩余元素有:";
for (const auto &n : lst)
cout << n << '\t';
return 0;
}