序列抽象族来说:
各成员之间的主要区别在性能方面,即性能上的差别决定了是否需要在容器中包含某种操作,我们最重要的任务是理解在何种情况下其中的一种容器优于其他两种
有序关系抽象族:
集合,多集,映射和多映射之间在操作上有一些本质的区别
在性能方面,插入,删除,查找都具有对数时间复杂度
向量--->
优势:对序列末尾快速插入和删除操作
对变长序列的快速随机访问(序列随机访问要求尽可能快,应选择)
在起点快速插入和删除,如果有大量的这种操作,应选择双端队列(作为代价,访问双端队列元素的时间复杂度的常数界比访问向量元素要稍大一些)
在序列内部插入和删除操作,应使用链表(不支持随机访问,但可以逐个遍历)
所有类型的向量迭代器都属于随机访问迭代器,这意味着所有的STL类属算法都可以用于向量
(后面的坑,下周继续补