顺序容器
vector特点
- 动态数组
- 内存是连续的
- 以二倍大小进行扩容,其中reserve只进行空间的预留不创建元素而resize既修改空间大小又改变元素个数
deque的特点
- 底层为二维动态数组
- 第二维数组空间大小固定
- 扩容时,第一维数组的二倍进行扩容
- 该二维数组的内存并不是连续的
list的特点
- 底层为双向循环链表
- 删除添加时间复杂度O(1),访问的时候O(n)
vector与deque
- 底层数据结构不同
- 前后数据插入的时间复杂度不同,vector,前O(n),后O(1);deque,前O(1),后O(1)
- 内存的使用效率不同。vector必须是一块连续的内存空间;deque不需要