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,相关习题后续补上。