5. 入门并实践STL——queue篇

queue

  • 先进先出

1. How to use?

#include 
using namespace std;

2. queue的定义

  • queue name;
  • typename可以时任意基本数据类型或者容器

3. queue容器内元素访问

  • 由于queue本身就是一种先进先出的限制性数据结构,因此在STL中只能通过front()来访问队首,back()访问对尾

4. 常用函数解析

  1. push(x): 将x进入队,O(1)
  2. front(), back(), 当使用它们之前,必须用empty()判断队列是否为空,否则可能因为队空而出现错误,O(1)
  3. pop(): 令队首元素出队,O(1)
  4. empty(): true为空,否则false,O(1)
  5. size(): O(1)

5. 常见用途

  • 当需要实现广度优先遍历

6. 延展

  • 双端队列:deque, 首尾皆可插入和删除
  • 优先队列:priority_queue,使用最大堆实现

7. 习题

数字交换

  • 题解
  • 此题并没有涉及到queue,相关习题后续补上。

你可能感兴趣的:(5. 入门并实践STL——queue篇)