C++STL-list

list就是链表,在C语言中我们想使用链表都是自己去实现的,实现起来倒不难,但是如果有现成的高效的链表可以使用的话,我们就不需要重复造轮子了。STL就提供了list容器给我们。

list是一个双向链表,而单链表对应的容器则是foward_list。

list即双向链表的优点是插入和删除元素都比较快捷,缺点是不能随机访问元素。

初始化方式就大同小异了,跟vector基本一样。要想用list先加个头文件list。

#include <iostream>
#include <list>

using namespace std;

template <typename T>
void show(list<T> L)
{
	for(list<T>::iterator iter = L.begin(); iter != L.end(); iter++)
	{
		cout << *iter << endl;
	}
}

int main()
{
	list<int> l1{ 1,2,5,5,63,4};
	show(l1);
	list<int>   l2(5,90);
	show(l2);
	l1.sort();
	show(l1);

	system("pause");
}

值得注意的是,list容器不能调用algorithm下的sort函数进行排序,因为sort函数要求容器必须可以随机存储,而list做不到。所以,list自己做了一个自己用的排序函数,用法如下:

list<int> l1{ 8,5,7,6,1,2,3,4,5,5,6,7,7 };
l1.sort();

 参考

https://www.cnblogs.com/skyfsm/p/6934246.html

https://blog.csdn.net/xiaoquantouer/article/details/70339869

http://c.biancheng.net/stl/number/

猜你喜欢

转载自blog.csdn.net/weixin_39752599/article/details/89220593