list使用教程

很多操作都和vector一样,这里介绍一下常用接口,具体使用可以参照vector的接口使用方法来使用

vector实用教程_vector教程_Eclips3的博客-CSDN博客

构造

        list (size_type n, const value_type& val = value_type())  --  构造的list中包含n个值为val的元素

        list()  --  构造空的list

        list (const list& x)  --  拷贝构造函数

        list (InputIterator first, InputIterator last)  --  用[first, last)区间中的元素构造list

迭代器

        begin + end  --  返回第一个元素的迭代器+返回最后一个元素下一个位置的迭代器

        rbegin + rend  --  返回第一个元素的reverse_iterator,即end位置,返回最后一个元素下一个位置的reverse_iterator,即begin位置

        list的底层结构为带头结点的双向循环链表,因此在list中进行插入时是不会导致list的迭代器失效,只有在删除时才会失效,并且失效的只是指向被删除节点的迭代器,其他迭代器不会受到影响。

容量

        empty  --  检测list是否为空,是返回true,否则返回false

        size  --  返回list中有效节点的个数

元素访问

        front  --  返回list的第一个节点中值的引用

        back  --  返回list的最后一个节点中值的引用

增删改查

        push_front  --  在list首元素前插入值为val的元素

        pop_front  --  删除list中第一个元素

        push_back --  在list尾部插入值为val的元素

        pop_back --  删除list中最后一个元素

        insert --  在list position 位置中插入值为val的元素

        erase --  删除list position位置的元素

        swap --  交换两个list中的元素

        clear --  清空list中的有效元素

你可能感兴趣的:(链表,数据结构,算法)