STL库中的list是一个双向链表,其迭代器不支持随机访问
构造函数:
list<T> lst;
list lst(beg,end);
[beg,end)区间中的函数拷贝到lst中
list lst(n,elem);
list lst(const list& l);
赋值和交换:
assign(beg,end);
assign(n,elem);
list operator=(const list& lst);
swap(lst);
将lst与本身的元素互换
大小操作:
size();
empty();
resize(num);
resize(num,elem);
插入和删除:
pos,beg,end均为迭代器
push_back(elem);
pop_back();
push_front(elem);
pop_front();
insert(pos,elem);
pos位置插入elem,返回新数据的位置
insert(pos,n,elem);
pos位置插入n个elem,无返回值
insert(pos,beg,end);
pos位置插入[beg,end)区间的数据,无返回值
clear();
erase(beg,end);
删除[beg,end)区间的数据,返回下一个数据的位置
erase(pos);
删除pos位置的数据,返回下一个数据的位置
remove(elem);
删除容器中所有与elem值匹配的元素。
数据存取:
不可以通过[]和at()访问
front();
back();
反转和排序:
reverse();
反转链表
sort();
链表排序(默认从小到大,升序)成员函数
从大到小排(降序)
bool myComp(int v1,int v2)
{
return v1>v2;
}
list.sort(myComp);
所有不支持随机访问迭代器的容器无法使用 <algorithm>
文件中的sort函数