#include<iostream>
#include<list>
#include<vector>
using namespace std;
int main()
{
int ia[] = {
0,1,1,2,3,5,8,13,21,55,89
};
vector<int> ivec(ia,ia+11);
list<int> ilist(ia,ia+11);
for(list<int>::iterator it = ilist.begin(); it != ilist.end(); ++it)
{
if((*it) % 2 != 0)
{
it = ilist.erase(it);//删除迭代器所指向的元素 ,删除后迭代器会失效,故要重新赋值
--it;//返回到删除元素的前一个元素
}
}
for(vector<int>::iterator it = ivec.begin(); it != ivec.end(); ++it)
{
if((*it) % 2 == 0)
{
it = ivec.erase(it);//删除迭代器所指向的元素,删除后迭代器会失效,故要重新赋值
--it;//返回到删除元素的前一个元素
}
}
for(list<int>::iterator it = ilist.begin(); it != ilist.end(); ++it)
cout << *it << endl;
cout << "This is vector:" << endl;
for(vector<int>::iterator it = ivec.begin(); it != ivec.end(); ++it)
cout << *it << endl;
return 0;
}
C++Primer习题9.26
最新推荐文章于 2018-12-14 22:27:00 发布