list容器中元素删除
一、
list.clear(); //移除容器的所有元素。
list.erase(beg,end);//删除[beg,end)区间的数据,返回下一个数据的位置(区间是左闭右开)。
list.erase(pos); //删除pos位置的数据,返回下一个数据的位置。
list.remove(elem); //删除容器中所有与elem值匹配的元素。
二、示例
#include <iostream> using namespace std; #include <list> int main() { list<int> l; cout<<"list的大小:"<<l.size()<<endl; for(int i=0;i<10;i++) { l.push_back(i);//尾部插入元素(尾插法) } cout<<"list的大小:"<<l.size()<<endl; //遍历 for(list<int>::iterator it=l.begin();it!=l.end();it++) { cout<<*it<<" "; } cout<<endl; //l.erase(l.begin(),l.begin()+3);//迭代器不支持l.begin()+3的操作 list<int>::iterator it1=l.begin(); list<int>::iterator it2=l.begin(); it2++; it2++; it2++; l.erase(it1,it2); //遍历 for(list<int>::iterator it=l.begin();it!=l.end();it++) { cout<<*it<<" "; } cout<<endl; l.insert(l.begin(),100); l.insert(l.begin(),100); l.insert(l.begin(),100); //遍历 for(list<int>::iterator it=l.begin();it!=l.end();it++) { cout<<*it<<" "; } cout<<endl; l.erase(l.begin()); //直接删除头部元素 l.remove(100); //遍历 for(list<int>::iterator it=l.begin();it!=l.end();it++) { cout<<*it<<" "; } cout<<endl; system("pause"); return 0; }