插入和删除
代码语言:javascript复制#include<iostream>
using namespace std;
#include<list>
//防止数据修改,只做读取操作
void print(const list<int>& L)
{
for (list<int>::const_iterator it = L.begin(); it != L.end(); it )
{
cout << *it << " ";
}
cout << endl;
}
//list的插入和删除
void test()
{
//默认构造
list<int> L1;
//尾插
L1.push_back(2);
L1.push_back(0);
//头插
L1.push_front(5);
print(L1);
//删除容器开头的元素
L1.pop_front();
print(L1);
//删除容器尾部的元素
L1.pop_back();
print(L1);
//在指定位置插入一个元素
L1.insert(L1.begin(), 5);
print(L1);
//在指定位置插入n个元素
L1.insert(L1.end(), 5, 521);
print(L1);
//在指定位置插入一段区间的值
//注意不能直接使用begin() , 2...的操作
list<int> L2 = { 5,2,0,1,3,1,4 };
list<int>::iterator L1beg = L1.begin();
list<int>::iterator beg = L2.begin();
list<int>::iterator end = L2.end();
L1.insert( L1beg, beg, end);
print(L1);
//删除某个位置的元素
list<int>::iterator l2beg = L1.begin();
L1.erase( l2beg);
print(L1);
//删除某段区间的元素
list<int>::iterator l3beg = L1.begin();
L1.erase( l3beg, L1.end());
print(L1);
//移除容器中与elem值匹配的元素
L1.remove(521);
print(L1);
//清空所有元素
L1.clear();
print(L1);
}
int main()
{
test();
system("pause");
return 0;
}
**总结: **