STL底层实现 - milkandbread/summary-interview GitHub Wiki

顺序容器

vector(顺序容器)

deque(双端队列)

list(链表)

关联容器

set(集合)

multiset

map(key, value)

multimap
容器 特点 内存结构 对应头文件
向量vector 1. 查询时间复杂度(O1)
2. 尾部插入和删除时间复杂度(O1)
3. 头部插入和删除的代价很高
数组
双端队列 deque 1. 在头部和尾部插入和删除操作的时间复杂度O(1) 双向链表
双向链表 对任意位置对插入和删除操作的时间复杂度O(1) 双端链表
集合set 由节点组成的红黑树,每个节点都包含着一个元素,节点之间以某种作用于元素对的位于排列,
没有两个不同的元素能够拥有相同的次序,具有快速查找对能力。但它以牺牲插入和删除操作的效率为代价
二叉树
多重集合
multiset
支持重复元素,具有快速查找的能力.插入/删除操作的时间复杂度为O(log2N) 二叉树
映射map 由健值对组成的集合,以某种作用于键对上的位次排列,具有快速查找的能力.根据key值快速查找,查找的时间复杂度为O(log2N) 二叉树
多重映射multimap 一个键可以应对多个值,具有快速查找多能力 二叉树 map
⚠️ **GitHub.com Fallback** ⚠️