vector array
数组支持随机访问,根据下标随机访问的时间复杂度为O(1)
- vector 连续的内存空间来存储元素,大小可以改变。swap 操作是将引用进行交换,效率高,其迭代器指向原来的容器
- array 连续的内存空间来存储元素,大小固定。swap 操作是进行值的交换,效率低,且迭代器仍指向原来的容器。
set, multiset, map, multimap
内部实现都是红黑树, 红黑树是一种有序树,查找的时间复杂度为logN
- set中, 元素的value也标识它(value就是key,类型为T),并且每个value必须是唯一的
- multiset容器当中存储的元素是可以重复的
- map中, 键值key通常用于排序和唯一地标识元素,而值value中存储与此键值key关联的的内容
- multimap 是一种特殊的 map,key是可以重复的
unordered_set,unordered_map
内部实现了一个 哈希表,其元素的排列顺序是无序的, 查找时间复杂度是O(n)
- unordered_set 用法和set 用法一致
- unordered_map 用法和 map 一致