模板的使用 + 容器的复用
- 传容器: 控制底层是那个控制
- 传仿函数: 控制大小堆的建立
stack
- 特点: 后进先出
- 底层: 容器的封装(vector, list, dequeue)
- 场景: 模拟递归, 函数压栈等
- 接口:empty(), size(), top(), push(), pop()
- 代码: stack
queue
- 特点: 先进先出
- 底层: 容器的封装(list, dequeue)
- 场景: BFS, 二叉树的层序遍历等
- 接口: empty(), size(), front(), back(), push(), pop()
- 代码: queue
priority_queue
- 特点: 是个堆
- 底层: 容器的封装 + 模板的使用(传仿函数控制大小堆的建立)
- 场景: topk问题等
- 接口: empty(), top(), push(), pop()
- 代码:
dequeue(容器)
特点: 头部插入删除效率高, 支持随机访问
底层: 中控数组, 里面存放指针, 指向一个个数据块
由一段段连续的小空间拼接而成的: