很多操作都和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中的有效元素