STL--list

作者: 7bfedbe4863a | 来源:发表于2018-03-29 00:03 被阅读0次

前言

什么是STL?

STL(Standard Template Library)标准模板库,它从根本上来说是一些“容器”的集合(包括list、vector、set、map、stack等)。

  • 头文件:
    algorithm、deque、functional、iterator、array、vector、list、map、memory、numeric、queue、set、unordered_set、stack、utility

STL之list

list的本质其实就是一个双向链表,可以很高效的进行插入和删除元素,但是呢,它也有链表本身的限制,即不能进行随机读取。

  • 构造:
    list list0; //空链表
    list list1(7); //建一个含有7个默认值是0的元素的链表
    list list2(5, 7); //建一个含有5个值为7的元素的链表
    list list3(c2); //拷贝构造
    list list4(c1.begin(), c1.end()); //新建的这个链表是拷贝了c1相应区间
  • 方法:
    assign(); //分配值
    back(); //返回最后一个元素的引用
    begin(); //返回第一个元素的指针
    clear(); //删除所有的元素
    empty(); //判断是否链表为空
    erase(); //删除一个元素或者一个区域的元素
    front(); //返回第一个元素的引用
    insert(); //在制定位置插入一个或多个元素
    max_size(); //返回链表最大可能长度
    merge(); //合并两个链表并使之默认升序(顺序可改)
    pop_back(); //删除链表尾的一个元素
    pop_front(); //删除链表头的一个元素
    push_back(); //在链表尾添加一个元素
    push_front(); //在链表头添加一个元素
    rbegin(); //返回链表最后一元素的后向指针
    rend(); //返回链表第一个元素的下一位置的后向指针
    remove(); //删除链表中匹配的元素(只要是匹配成功的都要删除)
    remove_if(); //删除条件满足的元素(先遍历一遍链表,然后再选择满足条件的删除)
    resize(); //重新定义链表的长度
    reverse(); //反转链表
    size(); //返回链表中元素个数
    sort(); //对链表排序,默认升序(顺序可改)
    splice(); //对两个链表进行结合
    swap(); //交换两个链表
    unique(); //删除相邻重复元素(一般是要已经排序好了的)

相关文章

  • STL--list

    前言 什么是STL? STL(Standard Template Library)标准模板库,它从根本上来说是一些...

  • c++那些事儿11.0 STL--List

    首先对STL不熟悉的同学,可以先看看这篇文章里有些东西: STL中容器相关知识点 知识点综述: List:序列式容...

网友评论

      本文标题:STL--list

      本文链接:https://www.haomeiwen.com/subject/iiepcftx.html