课本中的,摘录下来。
容器名 | 中文名 | 特点 | 头文件 | 备注 |
vector | 向量 | 适合在序列尾端加入或者删除。可随机访问各元素。 | <vector> | 随机访问是按下标访问,下标范围为[0-size()-1] |
deque | 双端队列 | 适合在序列两端加入或删除。可随机访问各元素。 | <deque> | 全称double-ended queue |
list | 双向链表 | 适合在序列中间插入或删除元素。可双向遍历元素。 | <list> | 不能随机访问元素,只能从头至尾遍历 |
set | 集合 | 各元素不重复,可双向遍历元素 | <set> | 元素按值升序排序。各元素的值是唯一的,称为键key |
multiset | 多集 | 可重复元素 可双向遍历元素 | <set> | 各元素按值升序排序。各元素的值不唯一,但同值元素相邻 |
map | 映射 | 元素是对偶pair<key,value>一对一或多对一键值不重复。可双向遍历元素 | <map> | 各元素按键值升序排列。各元素的键是一个多集。 |
multimap | 多射 | 元素是对偶pair<key,value>一对多或多对多键值可重复。可双向遍历元素 | <map> | 各元素按键值升序排列。各元素的键是一个多集。 |
stack | 堆栈 | 先进后出LIFO 不支持迭代器 | <stack> | 用成员函数来操作 基于deque实现 |
queue | 队列 | 先进先出FIFO 不支持迭代器 | <queue> | 用成员函数来操作元素 基于deque实现 |
priority_queue | 优先级队列 | 最高优先级先出 不支持迭代器 | <queue> | 用成员函数操作元素 基于vector实现 |