目录

  • queue的定义
  • queue容器内元素的访问
  • queue常用函数
  • queue的常见用途

queue 翻译为队列,在STL中主要则是实现了一个先进先出的容器。

queue的定义

要使用queue,应先添加头文件:

#include<queue>

需要的其他东西:

using namespace std;

其定义的写法和其他STL容器相同,typename可以是任意基本数据类型或容器:

queue<typename> name;

queue容器内元素的访问

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

queue常用函数

(1) push()
push(x)将x进行入队,时间复杂度为O(1)。
(2) front()、back()
front()和back()可以分别获得队首元素和队尾元素,时间复杂度为O(1)。
(3) pop()
pop()令队首元素出队,时间复杂度为O(1)。

(4) empty()
empty()检测queue是否为空,返回true则为空,返回false则为非空。时间复杂度为O(1)。

(5) size()
size()返回queue内元素的个数,时间复杂度为O(1)。

queue的常见用途

当需要实现广度优先搜索时,可以不用自己手动实现一个队列,而是用queue作为代替以提高程序的准确性。

另外有一点注意的是,使用front()和pop()函数前,必须用empty()判断队列是否为空否则可能因为队空而出现错误

延伸: STL的容器中还有两种容器跟队列有关,分别是双端队列(deque)和优先队列(priority_queue),
前者是首尾皆可插入和删除的队列,后者是使用堆实现的默认将当前队列最大元素置于队首的容器。

queue的常见用法详解相关推荐

  1. 《算法笔记》学习日记——6.1 vector的常见用法详解

    目录 6.1 vector的常见用法详解 问题 A: Course List for Student (25) 问题 B: Student List for Course (25) 小结 6.1 ve ...

  2. Linux中head和tail命令作用,Linux 命令head和tail常见用法详解

    head和tail是一组想对应的命令,默认分别显示文件的开头和末尾10行记录. head head 命令可以将一段文本的开头一部分输出到标准输出. head命令既可以处理文本文件也可以处理标准输入. ...

  3. linux lvm2,LVM2常见用法详解

    LVM2常见用法详解 1.简介 LVM(Logical Volume Manager)是逻辑卷管理的意思,是linux环境下对磁盘分区进行管理的一种机制,lvm是建立在硬盘和分区之上的一个逻辑层,来提 ...

  4. C++/C--unordered_map常见用法详解

    文章目录 1. std::unordered_map 的定义与特性 2. 构造 std::unordered_map 3. 赋值操作 4. 迭代器操作 4.1 指向整个容器中的元素 4.2 指向某个桶 ...

  5. C++/C--set常见用法详解【转载】

    1 概念 set是一个内部自动有序且不含重复元素的容器,其实现自动去重按升序排序.使用set,需要添加头文件:#include <set>.可以通过迭代器*it来访问set里面的元素,但是 ...

  6. C++中的unordered_map常见用法详解

    文章目录 1. std::unordered_map 的定义与特性 2. 构造 std::unordered_map 3. 赋值操作 4. 迭代器操作 4.1 指向整个容器中的元素 4.2 指向某个桶 ...

  7. python propresql mysql_python数据库操作mysql:pymysql、sqlalchemy常见用法详解

    本文实例讲述了python数据库操作mysql:pymysql.sqlalchemy常见用法.分享给大家供大家参考,具体如下: 相关内容: 使用pymysql直接操作mysql 创建表 查看表 修改表 ...

  8. dig命令的常见用法详解

    CATALOG 什么是dig 一个查询的例子 常见用法 什么是dig dig(域信息搜索器)命令是一个用于询问 DNS 域名服务器的灵活的工具.它执行 DNS 搜索,显示从受请求的域名服务器返回的答复 ...

  9. priority_queue的常见用法详解

    目录 前言 priorithy_queue的定义 priority_queue容器内元素的访问 priority_queue常用函数 priority_queue内元素优先级的设置 priority_ ...

最新文章

  1. 阿里转衰!百度没落!字节跳动崛起!未来的互联网是腾讯和字节跳动的世界!这样的言论你相信吗?...
  2. MongoDB 索引
  3. c++有哪四个类型转换相关的关键字
  4. Linux下python升级安装步骤
  5. atlas单机模式代码_游戏日报:3DS源码遭泄露,COD吃鸡更新经典模式,重装机兵再跳票...
  6. java网络文章博客抓取系统_java 后端博客系统文章系统——No3
  7. python文件输入符_python文件IO与file操作
  8. MongoDB学习总结(五) —— 安全认证
  9. 基于flask框架的高校舆情分析系统
  10. iphone11京东商品评论分析
  11. ESP8266 wifi模块开发汇总
  12. c语言文件输入调查结论,C语言选修实验报告_调查报告_表格模板_实用文档.doc
  13. 关于数位板电脑绘画——入门篇
  14. 怎么录制电脑桌面视频 具体的操作方法
  15. [论文速览]A Neural Attention Model for Sentence Summarization
  16. SparkSteaming运行流程分析以及CheckPoint操作
  17. Mac小技巧—如何查看 Mac 的关机和重启历史
  18. WordPress博客系统搜索引擎优化seo全攻略-新华站长网
  19. Linux管道命令grep 和 wc
  20. Java之HTTP网络编程(下篇:网页浏览器程序设计)

热门文章

  1. 《python机器学习经典实例》Expected 2D array, got 1D array instead和Reshape your data either using array.问题(已解决)
  2. 老男孩python学习_day004作业
  3. HDU - 3068 最长回文(manacher)
  4. MySQL数据表字段内容的批量修改、复制命令
  5. 配置错误定义了重复的“system.web.extensions/scripting/scriptResourceHandler” 解决办法...
  6. 使用Android拍照程序报setParameters failed错误
  7. flot中文API(转载)
  8. (转)几种流行的JS框架的选择
  9. VC里的集合类、链表类、映射类
  10. 区块链BaaS云服务(38)点存DCpool分布式存储