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

queue

  • 先进先出

1. How to use?

#include <queue>
using namespace std;

2. queue的定义

  • queue<typename> 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,相关习题后续补上。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容