【C++】STL中的list

1.list的成员函数

#include<iostream>
#include<list>
#include<algorithm>
#include<iterator>

using namespace std;

void show(int n)
{
	cout<<n<<endl;
}
void print(list<int> &T)
{	
	//用for_each()遍历输出链表里的值 参数是 起始 末尾的下一个  函数名 
	for_each(T.begin(),T.end(),show);
	cout<<endl;
	//用迭代器做也可以 
	/*list<int>::iterator it;
	for(it=T.begin();it!=T.end();it++)
	{
		cout<<*it<<endl; 
	}*/
}

int main()
{
	list<int> one(5,2);   //赋了5个2 
	print(one);
	one.push_back(3);     //在末尾插入值 
	one.push_front(1);   //在开头插入值 
	print(one);
	one.remove(2);        //去除所有的为2的值 
	print(one);
	list<int> two(2,6);
	one.merge(two);    //合并 合并后two为空 
	print(one);
	one.unique();     //连续的相同值压缩为一个 
	print(one);       // 1  3  6
	int arr[3]={6,7,8};
	one.insert(one.begin(),arr,arr+2);  //从one.bgin()处插入包左不包右的[arr,arr+2) 
	print(one);				// 6 7 1 3 6
	one.sort();   //排序 默认从小到大 
	print(one);		
	
	return 0;
}

2.list的迭代器

#include<cstdlib>
#include<list>
#include<numeric>
using namespace std;
typedef list<int> listInt;

int main()
{
	listInt listone;    //创建列表 
	listInt::iterator i;    //声明迭代器 
	listone.push_front(2);  //从前面往容器加数据 
	listone.push_front(1);
	//从后面添加数据 
	listone.push_back(3);
	listone.push_back(4);
	//从前往后显示Listone中的数据
	for(i=listone.begin();i!=listone.end();i++)
	{
		cout<<*i<<" ";		
	} 
/*	//使用STL中的累加(accumulate)算法
//DEV里没这个库numeric 
	int result=accumlate(listone.begin(),listone.end());
	cout<<result<<endl; 
*/

	system("pause");
	return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值