list
#include<iostream>
using namespace std;
#include<list>
int main()
{
list<char> L;
L.push_front('b');//[b]
L.push_back('c');//[bc]
L.push_front('a');//[abc]
cout<<L.front();//a
L.push_back('d');//[abcd]
cout<<L.front();//a
cout<<L.back();//d
return 0;
}
输出:aad
函数名 | 功能 | 复杂度 |
---|---|---|
size() | 返回表的元素数 | O(1) |
begin() | 返回指向表开头的迭代器 | O(1) |
end() | 返回指向表末尾(最后一个元素的后一个位置)的迭代器 | O(1) |
push_front(x) | 在表的开头添加元素x | O(1) |
push_back(x) | 在表的末尾添加元素x | O(1) |
pop_front() | 删除位于表开头的元素 | O(1) |
pop_back() | 删除位于表末尾的元素 | O(1) |
insert(p,x) | 在表的位置p处插入x | O(1) |
erase(p) | 删除表中位置p处的元素 | O(1) |
clear() | 删除表中所有元素 | O(n) |
- list既可以想vector一样通过"[ ]"运算符直接访问特定元素,也可以用迭代器逐个进行访问
- list还具备vector所不具备的的特长:元素的插入与删除操作只需O(1)即可完成,效率极高