之前提过的几种容器:vector,deque,stack,queue中,vector,stack,queue使用的地址都是连续的,deque使用的地址是部分连续的,而这章list容器使用的地址是不连续的,这就造成了前几种容器数据存取快,但是插入和删除元素相对较慢,而list则正相反
插入存取元素较快,数据存取慢(遍历慢)
list是由链表构成的,每一个节点都有数据域和指针域
list是一个双向循环链表
list有一个重要的性质,插入和删除操作不会让原来的迭代器失效,而前几种容器不行
1.构造函数
list<T> lst;
lsit(beg,end);
lsit(n,elem);
list(const list& lst);
2.赋值和交换
assign(beg,end);
assign(n,elem);
list operator=(const list& lst);
3.list大小操作
size();
empty();
resize(num);
resize(num,elem);//如果超出原来的容器长度则用elem填充
4.list的插入和删除
push_bac(elem);
pop_back();
push_front();
pop_front();
insert(pos,elem);
insert(pos,n,ele