list双向链表容器

list双向链表容器

#include <iostream>
#include <list> //头文件 
#include <algorithm>//find 头文件 
using namespace std;
//采用双向链表的数据结构 
int main()
{
	//创建 
	list<int> l;
	
	list<int> ll(10);
	
	//尾部插入元素,链表自动扩张
	l.push_back(1); 
	l.push_back(2); 
	l.push_back(3);
	l.push_back(3); 	//1 2 3 3
	//头部插入元素,链表自动扩张
	l.push_front(4); // 4 1 2 3 3
	//在任意位置插入元素
	list<int>::iterator it;	//迭代器 
	it=l.begin(); 
	it++;	//链表只能进行++ 或 -- 操作,不可以加减n
	l.insert(it,20); //4 20 1 2 3 3
	for(it=l.begin();it!=l.end();it++)
	{
		cout << *it << ' ';	
	} cout << endl;
	
	//反向遍历
	list<int>::reverse_iterator rit;
	for(rit=l.rbegin();rit!=l.rend();rit++)
	{
		cout << *rit << ' ';
	} cout << endl;
	
	//查找	头文件algorithm 
	it=find(l.begin(),l.end(),3);
	if(it!=l.end())	//找到
	{
		cout << *it << endl;
	 } 
	else
	{
		cout << "not find it!" << endl;
	}
	it=find(l.begin(),l.end(),31);
	if(it!=l.end())	//找到
	{
		cout << *it << endl;
	 } 
	else
	{
		cout << "not find it!" << endl;
	}
	
	//元素排序
	l.sort();
	for(it=l.begin();it!=l.end();it++)
	{
		cout << *it << ' ';	
	} cout << endl;
	
	//剔除连续重复元素,只取其一
	l.push_back(9); 
	l.push_back(9);
	l.push_back(9);
	l.push_front(7);
	l.push_front(7);
	for(it=l.begin();it!=l.end();it++)
	{
		cout << *it << ' ';	
	} cout << endl;
	l.unique();		//保留一个 
	for(it=l.begin();it!=l.end();it++)
	{
		cout << *it << ' ';	
	} cout << endl;
	
	//元素删除  
	l.remove(3);	//删除所有值为3的数
	l.push_back(10);
	l.push_back(20);
	for(it=l.begin();it!=l.end();it++)
	{
		cout << *it << ' ';	
	} cout << endl;
	l.pop_front();	//删除表首元素
	l.pop_back();	//删除表尾元素
	it=l.begin();
	it++;
	it++; 
	l.erase(it);//删除迭代器位置上的元素 第2个元素(从0开始) 
	for(it=l.begin();it!=l.end();it++)
	{
		cout << *it << ' ';	
	} cout << endl;
	l.clear();	//	清空链表
	
	 
	return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值