学IT的,废话少说,直接看代码。
#include<iostream>
#include<vector>
#include<list>
using namespace std;
int main(){
int a[]={1,2,3,4,5,6,7,8,9,10};
vector<int>v(a,a+10);
list<int>l(a,a+10);
for(vector<int>::iterator vi=v.begin();vi!=v.end();++vi){
if((*vi)%2==0){
vi=v.erase(vi);
--vi;
}
}
for(list<int>::iterator li=l.begin();li!=l.end();++li){
if((*li)%2==1){
li=l.erase(li);
--li;
}
}
for(vector<int>::iterator vv=v.begin();vv!=v.end();++vv){
cout<<*vv<<" ";
}
cout<<endl;
for(list<int>::iterator ll=l.begin();ll!=l.end();++ll){
cout<<*ll<<" ";
}
cout<<endl;
return 0;
}
erase(指向需要删除的值的迭代器),返回指向被删除元素的下一个元素的迭代器。