vector容器中删除元素
#include <iostream> using namespace std; #include <vector> void printV(vector<int> &v) { for(int i=0;i<v.size();i++) { cout<<v[i]<<" "; } } //vector 删除 int main() { vector<int> v1(10); for(int i=0;i<10;i++) { v1[i]=i+1; } //区间删除 v1.erase(v1.begin(),v1.begin()+3); printV(v1); cout<<endl; //指定元素的位置删除 v1.erase(v1.begin());//在头部删除一个元素 printV(v1); cout<<"-----------"<<endl; //根据元素的值删除 v1[1]=2; v1[3]=2; printV(v1); cout<<"-------------"<<endl; for(vector<int>::iterator it=v1.begin();it!=v1.end();) { if(*it==2) { it=v1.erase(it);//当删除迭代器所指向的元素的时候,删除函数erase()会让it自动下移 } else { it++; } } printV(v1); cout<<"-------------"<<endl; //头部插入元素 v1.insert(v1.begin(),100); v1.insert(v1.end(),200);//尾部插入元素 printV(v1); return 0; }