list双向链表
forward_list向前链表(单向),操作都在链表头 (2011年新标准)(略)
头文件
#include<list>
构造函数
list<结构体> 变量名
遍历
for_each(ls2.begin(),ls2.end(),fun);
迭代器
list <Node>::iterator ite=ls2.begin();
ite++; //只能++,不能+2、+3
无容量概念
size 取大小
resize 重新设置大小
empty 判断有无
输出
front()访问第一个元素
back()访问最后一个元素
添加
头添加 push_front()
尾添加push_back()
中间添加
insert(迭代器,(几个,)结构体)
insert(首位置,尾位置下一个)
删除
尾删除
pop_back()
头删除
pop_front()
中间删除
erase(迭代器)
erase(首位置,尾位置下一个)
清空
clear()
删除某个节点
remove(某元素)
若为结构体,需要重载运算符==
删除重复元素
unique()
赋值
assign(数量,元素)
assign(首位置,尾位置下一个)、
交换
swap()函数
倒转
reverse()
排序
sort() (成员函数)
结构体要重载
合并
ls1.merge(ls2) 需要链表是有序的
拼接
splice(位置,链表(,元素)/(,首位置,尾位置))
查找
find(首位置,尾位置,元素) 返回迭代器