C++队列queue用法详解
一、定义
queue是一种容器转换器模板,调用#include< queue>即可使用队列类。
二、queue初始化
queue<Type, Container> (<数据类型,容器类型>)
初始化时必须要有数据类型,容器可省略,省略时则默认为deque 类型
初始化示例
queue<int>q1;
queue<double>q2;
queue<char>q3;
//默认为用deque容器实现的queue;
queue<char, list<char>>q1;
//用list容器实现的queue queue<int, deque<int>>q2;//用deque容器实现的queue
注意:不能用vector容器初始化queue
二、queue常用函数
1.常用函数
- push() 在队尾插入一个元素
- pop() 删除队列第一个元素
- size() 返回队列中元素个数
- empty() 如果队列空则返回true
- front() 返回队列中的第一个元素
- back() 返回队列中最后一个元素
2.函数运用示例
queue <string> q;
q.push("first");
q.push("second");
cout<<q.front()<<endl;
queue <string> q;
q.push("first");
q.push("second");
q.pop();
cout<<q.front()<<endl;
输出 second 因为 first 已经被pop()函数删掉了
queue <string> q;
q.push("first");
q.push("second");
cout<<q.size()<<endl;
queue <string> q;
cout<<q.empty()<<endl;
q.push("first");
q.push("second");
cout<<q.empty()<<endl;
分别输出1和0
最开始队列为空,返回值为1(ture);
插入两个元素后,队列不为空,返回值为0(false);
queue <string> q;
q.push("first");
q.push("second");
cout<<q.front()<<endl;
q.pop();
cout<<q.front()<<endl;
第一行输出first;
第二行输出second,因为pop()已经将first删除了
queue <string> q;
q.push("first");
q.push("second");
cout<<q.back()<<endl;
转自:C++队列queue用法详解_KEPROM的博客-CSDN博客_c++ queue
C++队列queue用法详解相关推荐
- python queue 查询是否在队列中_python队列Queue的详解
Queue Queue是python标准库中的线程安全的队列(FIFO)实现,提供了一个适用于多线程编程的先进先出的数据结构,即队列,用来在生产者和消费者线程之间的信息传递 基本FIFO队列 clas ...
- python队列只能一个个读取吗_python队列Queue的详解
Queue Queue是python标准库中的线程安全的队列(FIFO)实现,提供了一个适用于多线程编程的先进先出的数据结构,即队列,用来在生产者和消费者线程之间的信息传递 基本FIFO队列 clas ...
- Java队列Queue使用详解(*)
Queue是java中实现队列的接口,它总共只有6个方法,我们一般只用其中3个就可以了.Queue的实现类有LinkedList和PriorityQueue.最常用的实现类是LinkedList. Q ...
- 【Java】Java队列Queue使用详解
Deque是一个双端队列接口(double ended queue),继承自Queue接口,Deque的实现类是LinkedList.ArrayDeque.LinkedBlockingDeque,其中 ...
- python队列Queue的详解
Process之间有时需要通信,操作系统提供了很多机制来实现进程间的通信. 1. Queue的使用 可以使用multiprocessing模块的Queue实现多进程之间的数据传递,Queue本身是一个 ...
- 优先队列priority_queue 用法详解
优先队列priority_queue 用法详解 优先队列是队列的一种,不过它可以按照自定义的一种方式(数据的优先级)来对队列中的数据进行动态的排序 每次的push和pop操作,队列都会动态的调整,以达 ...
- c++中vector的用法详解
c++中vector的用法详解 vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间 ...
- 教程-Delphi中Spcomm使用属性及用法详解
Delphi中Spcomm使用属性及用法详解 Delphi是一种具有 功能强大.简便易用和代码执行速度快等优点的可视化快速应用开发工具,它在构架企业信息系统方面发挥着越来越重要的作用,许多程序员愿意选 ...
- STL中map和string, vector 用法详解
1. map 用法详解 std map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成 ...
最新文章
- OpenBSD 6.0 将移除 Linux 子系统以改进安全
- mysql两张表一起计数_mysql-同一张表上的多个联接,其中一个查询计数
- PHP is_null,empty以及isset,unset的区别
- 4安全框_压花玻璃与安全玻璃有哪些特点?玻璃隔断的介绍
- 路由器 android 打印机,谷歌关闭云打印服务,安卓和Chrome办公用户要慌了
- Telnet 服务器软件的安装
- 【转】PCDATA和CDATA的区别究竟是什么呢?
- 计算机论文撰写周记,电子与计算机毕业设计周记
- 3.新建页面以及添加路由 2021-07-11
- WPS表格乘的结果和计算机的不一样,同版本wps两个电脑显示不一样怎么办
- linux sar 分析,Linux性能测试分析命令_sar
- __stack_chk_fail问题及解决方案
- SuiteScritp 2.0开发实例 自定义工单+领料单 单据流转 打印
- repo sync 更新源码 android-12.0.0_r34, fatal: 不能重置索引文件至版本 ‘v2.27^0‘。
- mysql5.1.40.jrp_1.原生态JDBC编程中的问题总结
- riak文件服务器,riak简介(一)
- rails-redis hgetall与hGetall
- OpenCV双目鱼眼相机标定
- 微分方程一维抛物热传导方程向前向后欧拉C-N格式二阶BDF格式MATLAB源码 显式欧拉,隐式欧拉,梯形公式,改进欧拉
- FreeLaunchBar-Windows10系统任务栏快捷方式管理者