list容器实质是一个双向链表,list不提供随机访问功能,当删除其中一个元素,指向其他元素的迭代器依然有效。对于任何位置的元素插入或移除,list永远是常数时间

构造函数
函数 |
功能 |
list<T> lstT |
list采用采用模板类实现,对象的默认构造形式 |
list(beg,end) |
构造函数将[beg, end)区间中的元素拷贝给本身 |
list(n,elem) |
构造函数将n个elem拷贝给本身 |
list(const list &lst) |
拷贝构造函数 |
插入和删除
函数 |
功能 |
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值匹配的元素 |
大小操作
函数 |
功能 |
size() |
返回容器中元素的个数 |
empty() |
判断容器是否为空 |
resize(num) |
重新指定容器的长度为num,变长则用默认值填充新位置;变短删除超出元素 |
resize(num, elem) |
重新指定容器的长度为num,变长则用elem填充新位置;变短删除超出元素 |
赋值
函数 |
功能 |
assign(beg, end) |
将[beg, end)区间中的数据拷贝赋值给本身 |
assign(n, elem) |
将n个elem拷贝赋值给本身 |
list& operator=(const list &lst) |
重载等号操作符 |
swap(lst) |
将lst与本身的元素互换 |
数据的存取
函数 |
功能 |
front() |
返回第一个元素 |
back() |
返回最后一个元素 |
反转和排序
函数 |
功能 |
reverse() |
反转链表:1,2,3,反转后为3,2,1 |
sort() |
sort为list的成员函数,而不是STL算法 |