5. 入门并实践STL——queue篇
2019-03-01 本文已影响0人
zju_dream
queue
- 先进先出
1. How to use?
#include <queue>
using namespace std;
2. queue的定义
queue<typename> name;- typename可以时任意基本数据类型或者容器
3. queue容器内元素访问
- 由于
queue本身就是一种先进先出的限制性数据结构,因此在STL中只能通过front()来访问队首,back()访问对尾
4. 常用函数解析
-
push(x): 将x进入队,O(1) -
front(),back(), 当使用它们之前,必须用empty()判断队列是否为空,否则可能因为队空而出现错误,O(1) -
pop(): 令队首元素出队,O(1) -
empty(): true为空,否则false,O(1) -
size(): O(1)
5. 常见用途
- 当需要实现广度优先遍历
6. 延展
- 双端队列:
deque, 首尾皆可插入和删除 - 优先队列:
priority_queue,使用最大堆实现
7. 习题
- 题解
- 此题并没有涉及到queue,相关习题后续补上。