1.顺序性容器
Vector 从后面快速的插入与删除,直接访问任何元素,使用时最好先分配区域,效率比较高,因为Vector分配内存
和销毁比较消耗性能
deque(双向队列) 从前面或后面快速的插入与删除,直接访问任何元素,向deque 两端添加或删除元素的开销很小。
它不需要重新分配空间,所以向末端增加元素比vector 更有效,deque 是对vector 和list 优缺点的结合,它是处于两者之间的一种容器。
比Vector更耗内存
list 双链表,从任何地方快速插入与删除,适合大量插入数据由于其结构的原因,list 随机检索的性能非常的不好,
因为它不像vector 那样直接找到元素的地址,而是要从头一个一个的顺序查找,这样目标元素越靠后,它的检索时间就越长。
检索时间与目标元素的位置成正比。
虽然随机检索的速度不够快,但是它可以迅速地在任何节点进行插入和删除操作。因为list 的每个节点保存着它在链表中的位置,
插入或删除一个元素仅对最多三个元素有所影响,不像vector 会对操作点之后的所有元素的存储地址都有所影响,这一点是vector
不可比拟的。
2.关联容器(非线性树结构)容器越大,关联容器相对list 的优越性就越能体现;
Set 具有自动排序,是非重复成员的集合
MultiSets
Map 和Multimap
3.容器适配器
栈stack,队列queue,优先级priority_queue.是基于顺序容器的改装