list 是顺序容器的一种,list是一个双向链表,使用时需要包含头文件list。双向链表的每个元素都有一个指针指向后一个元素,也有一个指针指向前一个元素,list不支持根据下表随机访问。
在list中,在已经定位到要增删元素的位置的情况下,这个操作可以在常数时间内完成,相比于vector,list通常在任意位置进行插入,移动元素的效率更好
list还需要一些额外的空间来保存每个节点与其他相节点的关联信息
list的构造函数和许多成员函数的用法都与vector相似
list的操作
void push_front(const T& val) //将val插入链表最前面
void pop_front() //删除链表前面的元素
void sort() //将链表从小到大排序
void remove(const T& val) //删除与val相等的元素
remove_if //删除符合某种条件的元素