第9章 顺序容器
引:
顺序容器:
vector 支持快速随机访问
list 支持快速插入/删除
deque 双端队列
顺序容器适配器:
stack 后进先出栈
queue 先进先出队列
priority_queue 有优先级管理的队列
1. 容器元素的初始化
C<T> c; //empty
C c(c2); //副本
C c(b, e); //迭代器
C c(n, t); //n个相同元素
// 以下只适用于顺序容器
C c(n);
2. 容器内元素的类型约束
(1)元素必须支持赋值运算
(2)元素类型的对象必须可以复制
3. 迭代器和迭代器的范围
(1)list容器的迭代器不支持算术运算,也不支持关系运算,它只提供前置和后置的自增、自减运算以及相等(不等)运算
(2)迭代器的范围:由begin和end表示的做闭合区间[begin, end)
(3)在顺序容器中添加元素:push_back,push_front,insert
(4)在容器中的插入,删除操作会使end()迭代器失效!!
(5)关系操作符,顺序容器可以比较大小
(6)访问元素,front(),back(),返回的是引用(这是跟begin()和end()的区别)
(7)删除元素,pop_back(),pop_front(),erase(),clear()
(8)赋值,swap(),assign(),=.
4.vector容器的子增长
可以通过capacity和size成员函数来进行查看比较
5.容器的选用。
选用容器跟选择数据结构是一样的道理
6.string,
提供了比容器更多的方法,来对string做特有的一些操作,例如查找,substr等
7.适配器,
包括stack,queue,priority_queue