List容器
双向链表#include < list >
- 在任何位置插入和删除都是常数时间
- 不支持根据下标随机存取元素
- 具有所有顺序容器都有的成员函数
List容器还支持的8个成员函数:
- Push_front() :在链表最前面插入
- Pop_front():删除链表最前面的元素
- Sort():排序(list不支持STL算法sort,因为不支持随机访问迭代器)
- Remove():删除和指定值相等的所有元素
- Unique():删除所有和前一个元素相同的元素
- Merge():合并两个链表,并清空被合并的链表
- Reverse():颠倒链表,逆序
- Splice():在指定位置前面插入另一链表中的一个或多个元素,并在另一链表中删除被插入的元素
List容器的sort函数
- List容器的迭代器不支持完全随机访问,不能用标准库中的sort函数对它进行排序,List自己的sort成员函数:
List classname
Classname.sort(compare); //compare函数可以自己定义
Classname.sort(); //无参数版本,按照 0)
{
typename list::const_iterator it;
//" typename "是一个C++程序设计语言中的关键字。 当用于泛型编程时是另一术语" class "的同义词。
//这个关键字用于指出模板声明(或定义)中的非独立名称(dependent names)是类型名,而非变量名。
for( it = lst.begin(); it != lst.end(); it++)
{