顺序容器:
vector: 可变大小数组。支持此快速随机访问。在尾部之外的位置插入或删除元素可能很慢。
deque: 双端队列。支持快熟随机访问。在头尾位置插入/删除速度很快。
list: 双向链表。只支持双向顺序访问。在链表任何位置进行插入/删除操作速度都很快。
forward_list:单向链表。只支持单向顺序访问。在链表任何位置进行插入/删除操作速度都很快。
array: 固定大小数组。支持快速随机访问。不能添加或删除元素。
string: 与vector相似的容器,但专门用于保存字符。随机访问快。在尾部插入/删除速度快。
表达式 | 支持容器类型 |
c.front() | vector、deque、list |
a.back() | vector、deque、list |
a.push_front(t) | list、deque |
a.push_back(t) | vector、deque、list |
a.pop_front(t) | list、deque |
a.pop_back(t) | vector、deque、list |
a[n] | vector、deque |
a.at(t) | vector、deque |
关联容器:
set: 关键字即值,即只保存关键字的容器
multiset: 关键字可重复出现的set
map: 关联数组;保存关键字-值对
multimap: 关键字可重复出现的map
无序集合:
unordered_map: 用哈希函数组织的map
unordered_set: 用哈希函数组织的set
unordered_multimap:哈希组织的map;关键字可以重复出现
unordered_multimap:哈希组织的set;关键字可以重复出现
容器适配器:
stack: 后进先出,要求顺序容器支持 push_back 、pop_back 和back 操作。
queue: 先进先出,要求顺序容器支持 pop_front 操作。
priority_queue:要求顺序容器支持 随机访问功能。
容器特性总结。微信:18761536023