stl中list的使用介绍

#include<list>
#include<iostream>
#include <algorithm>
using namespace std;

typedef std::list<int>CList;

int _tmain(int argc, _TCHAR* argv[])
{
	CList listTmp;
	//1、初始化
	for(int i = 0; i < 10; i++)
	{
		listTmp.push_back(10-i);
	}

	//2、遍历输出

	//1)、迭代器 从开始到结束 遍历输出
	CList::iterator iter = listTmp.begin();
	for(iter; iter!= listTmp.end(); iter++)
	{
		cout<<"1-->data: "<<*iter<<endl;
	}

	//2)、反向迭代器 从末尾到开始 遍历输出
	CList::reverse_iterator re_iter= listTmp.rbegin();
	for(re_iter; re_iter != listTmp.rend(); re_iter++)
	{
		cout<<"2-->data: "<<*re_iter<<endl;
	}

	//3、排序
	listTmp.sort(greater<int>( ));

    iter = listTmp.begin();
	for(iter; iter!= listTmp.end(); iter++)
	{
		cout<<"sort-->data: "<<*iter<<endl;
	}

	//4、赋值
	CList listTmp_2 = listTmp; 

	//5、删除制定位置元素
	listTmp_2.erase(listTmp_2.begin());
	
	iter = listTmp_2.begin();
	for(iter; iter!= listTmp_2.end(); iter++)
	{
		cout<<"listTmp_2-->data: "<<*iter<<endl;
	}

	//6、查找指定元素10
	int nFindValue = 10;
	CList::iterator iterFind = std::find(listTmp_2.begin(),listTmp_2.end(),nFindValue);
	if(iterFind != listTmp_2.end())
	{
		cout<<"找到10 !\n";
	}
	else //iterFind == listTmp_2.end()
	{
      cout<<"未找到10 !\n";
	}
	return 0;
}

猜你喜欢

转载自blog.csdn.net/jangdong/article/details/81293637