顺序容器 List & Deque

List容器

双向链表#include < list >

  • 在任何位置插入和删除都是常数时间
  • 不支持根据下标随机存取元素
  • 具有所有顺序容器都有的成员函数

List容器还支持的8个成员函数:

  1. Push_front() :在链表最前面插入
  2. Pop_front():删除链表最前面的元素
  3. Sort():排序(list不支持STL算法sort,因为不支持随机访问迭代器)
  4. Remove():删除和指定值相等的所有元素
  5. Unique():删除所有和前一个元素相同的元素
  6. Merge():合并两个链表,并清空被合并的链表
  7. Reverse():颠倒链表,逆序
  8. 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++)
        {
订阅评论
提醒
guest
0 评论
内联反馈
查看所有评论