std::list
容器属性:
序列 | 双链表 | Allocator-aware
序列容器中的元素按严格的线性顺序排序。各个元素按其顺序访问它们的位置。
每个元素保存有关如何定位下一个元素和前一个元素的信息,允许在特定元素之前或之后(甚至整个范围)进行恒定时间插入和擦除操作,但不允许直接随机访问。
容器使用allocator对象来动态处理其存储需求。
迭代器相关函数:
(public member function )
将迭代器返回到开头(增长方向:begin -> end)
将迭代器返回到结尾
返回反向迭代器以反向开始(增长方向:rbegin -> rend)
将反向迭代器返回到反向结束
cbegin (C++11)
将const_iterator返回到开头(与begin类似,区别在于begin指向的值可以改变,cbegin指向的值不可改变)
cend (C++11)
将const_iterator返回到开头末尾
crbegin (C++11)
返回const_reverse_iterator以反向开始
crend (C++11)
将const_reverse_iterator返回到反向结束
容量相关函数:
(public member function )
判断容器是否为空
返回目前元素的数量
返回可以拓展的最大容量
元素访问操作:
(public member function )
访问首元素
访问尾元素
修改元素操作:
(public member function )
分配容器的内容
emplace_front (C++11)
在首部添加一个元素
在首部添加一个元素
在首部杀出一个元素
emplace_back (C++11)
在尾部添加一个元素
在尾部添加一个元素
在尾部删除一个元素
emplace (C++11)
在迭代器位置插入元素(emplace使用直接构造函数,insert使用复制构造函数)
迭代器位置插入元素,或者插入连续的序列
迭代器位置插入元素,或者插入连续的序列
交换两个容器的内容
改变目前容器的大小
清空容器的内容
序列操作:
(public member function )
从两个容器间转移元素
删除特定值的元素
删除满足特点的元素
删除重复值
合并两个容器,(可排序合成的序列,详细操作自行查找)
对元素序列进行排序
反转元素的顺序