list容器的插入和删除

2021-03-02 15:40:30 浏览数 (1)

插入和删除

代码语言: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;
}

**总结: **

0 人点赞