#include<list>
构造
list<int> c0; //空链表
list<int> c1(3); //建一个含3个默认值是0的元素的链表
list<int> c2(5,2); //建一个含5个元素的链表,值都是2
list<int> c4(c2); //复制
list<int> c5(beg,end); //区间[beg, end)做为元素初值
成员函数
//非变动性操作
empty() //判断是否为空
size() //有效元素个数
resize(n) //重置有效元素个数
max_size() //返回容器最大的可以存储的元素
c1 == c2 //判断c1 是否等于c2,类似略
//赋值
c1 = c2 //复制
assign(n, elem) //复制n个elem
assign(beg, end) //将区间[beg;end)内的元素赋值给c
swap(c1, c2); //交换两个list
//元素存取
front() //首元素
back() //尾元素
//迭代器
list<T>::iterator it;
c.begin()
c.end()
c.rbegin() //逆向链表的第一个元素,即c链表的最后一个数据。
c.rend() //返回逆向链表的最后一个元素的下一个位置,即c链表的第一个数据再往前的位置。it++
//增删
push_front() //首加
pop_front() //首删
push_back() //尾加
pop_back() //尾删
insert(pos,num) //在pos位置插入元素num,返回新元素位置
insert(pos,n,elem) //在pos位置上插入n个elem副本,无返回值
insert(pos,beg,end) //在pos位置上插入区间[beg,end)内的所有元素的副本,没有返回值
erase(pos) //删除pos位置的元素,返回下一个元素的位置
erase(beg,end) //移除[beg, end)区间内的所有元素,返回下一个元素的位置
remove(num) //删除链表中匹配num的元素
remove_if(cmp) //删除条件满足的元素,参数为自定义的回调函数
clear() //清空
//其他
sort() //单链表排序
sort(cmp) //自定义顺序
unique() //去重,要先排序
c1.merge(c2) //合并2个有序的链表并使之有序,从新放到c1里,释放c2
c1.merge(c2,cmp) //合并2个有序的链表并使之按照自定义规则排序之后从新放到c1中,释放c2
reverse() //反转
splice()
原文:https://www.cnblogs.com/znk97/p/14345267.html