C++中的queue

实现一种先进先出的数据结构,是一个模板类

头文件 #include<queue>

用法(以int型为例):

queue<int> Q;                  //定义一个int型队列

Q.empty();                      //返回队列是否为空

Q.size();                        //返回当前队列长度

Q.front();                      //返回当前队列的第一个元素

Q.back();                       //返回当前队列的最后一个元素

Q.push();                     //在队列后面插入一个元素, 比如插入数字5: Q.push(5)

Q.pop();                        //从当前队列里,移出第一个元素

代码示例:

#include <iostream>
#include <queue> using namespace std;
int main()
{
queue<int> Q;
cout<<"queue empty? "<<Q.empty()<<endl; for(int i=;i<;i++)
{
Q.push(i); //进队列
} cout<<"queue empty? "<<Q.empty()<<endl;
cout<<"queue size: "<<Q.size()<<endl;
cout<<endl; for(int i=;i<;i++)
{
cout<<"queue front: "<<Q.front()<<endl;
Q.pop(); //出队列
} return ;
}

QT中的QQueue

它的父类是QList,是个模板类

头文件: #include <QQueue>

常用用法(以int型为例):

QQueue<int> Q;                 //定义一个int型队列

Q.isEmpty();                      //返回队列是否为空

Q.size();                        //返回队列元素个数

Q.clear();                        //清空队列

Q.enqueue();                      //在队列尾部添加一个元素, 比如插入数字5: Q.enqueue(5)

Q.dequeue();                     //删除当前队列第一个元素,并返回这个元素

Q.head();                        //返回当前队列第一个元素

Q.last();                        //返回当前队列尾部的元素

T &  operator[]( int i );        //以数组形式访问队列元素

代码示例:

#include <QtGui>
#include <QQueue>
#include <QDebug> int main(int argc,char * argv[])
{
QQueue<int> Q; //定义一个int型队列
qDebug()<<"queue empty: "<<Q.isEmpty(); //返回队列是否为空 for(int i=;i<;i++)
{
Q.enqueue(i); //入队
} qDebug()<<"queue empty: "<<Q.isEmpty();
qDebug()<<"queue size: "<<Q.size(); for(int i=;i<;i++)
{
qDebug()<<"queue last: "<<Q.last(); //返回当前队列最后一个个元素
qDebug()<<"queue head: "<<Q.dequeue(); //出队列,并且返回当前队列第一个元素
} qDebug()<<"queue empty: "<<Q.isEmpty();
qDebug()<<"queue size: "<<Q.size(); return ;
}

打印:

queue empty:   true
queue empty: false
queue size:
queue last:
queue head:
queue last:
queue head:
queue last:
queue head:
queue last:
queue head:
queue last:
queue head:
queue empty: true
queue size:

C++中的queue类、QT中的QQueue类的更多相关文章

  1. QT中QProcess调用命令行的痛苦经历

    在QT程序中需要将某些目录和文件压缩为一个rar的压缩包,于是想到了在QT中通过QProcess类调用命令行的rar.exe来达到效果,但是没想到QProcess类用起来很麻烦,而且达不到效果,折腾了 ...

  2. QT中QProcess调用命令行的痛苦经历(调用Winrar,设置工作目录,获得输出,注意引号与括号,等等)

    QT中QProcess调用命令行的痛苦经历   阅读目录 创建压缩包的方法 在QT中调用命令行 在QT中调用C++创建的dll 在QT程序中需要将某些目录和文件压缩为一个rar的压缩包,于是想到了在Q ...

  3. Qt中的标准对话框之QMessageBox

    1. Qt标准对话框 Qt为开发者提供了一些可复用的对话框类型 Qt提供的可复用对话框全部继承自QDialog类 Qt中的对话框的使用方式和QDialog完全一致 2. 标准对话框的使用步骤 ①定义对 ...

  4. QT中的线程与事件循环理解(1)

    1.需要使用多线程管理的例子 一个进程可以有一个或更多线程同时运行.线程可以看做是“轻量级进程”,进程完全由操作系统管理,线程即可以由操作系统管理,也可以由应用程序管理.Qt 使用QThread 来管 ...

  5. Qt中常用知识点

    1:QRegExp 正则表达式 QRegExp regExp("[a-zA-Z][1-9][0-9]{0,2}"); xxx->setValidator(new QRegEx ...

  6. Qt学习日记篇-Qt中使用Curl和jsonCpp

    1.Qt中安装并使用jsonCPP库 1.1  官网下载.https://sourceforge.net/projects/jsoncpp/    解压文件得到 jsoncpp-src-0.5.0 文 ...

  7. QT中的QQueue类、C++中的queue类

    C++中的queue 实现一种先进先出的数据结构,是一个模板类 头文件 #include<queue> queue<int> Q; //定义一个int型队列 Q.empty() ...

  8. 用 Qt 中的 QDomDocument类 处理 XML 文件(上)

      我们可以看到,如果所要读取的XML文件不是很大,采用DOM读取方法还是很便捷的,由于我用的也是DOM树读取的方法,所以,本文所介绍的也主要是基于DOM的方法读取. 根据常用的操作,我简单的把对XM ...

  9. QT中QWidget类简介

    一.详细描述 QWidget类是所有用户界面对象的基类.通俗的来讲,Qt基本上所有的UI类都是由QWidget继承出来的,而QWidget继承于QObject,  大家可以查阅Qt source 即可 ...

随机推荐

  1. React了解

    根据博主  http://www.ruanyifeng.com/blog/2015/03/react.html  的几个Demo(https://github.com/ruanyf/react-dem ...

  2. 解读IEEE 7417的软件体系架构描述的概念模型

    本文将解读标准IEEE Std 1471-2000(密集型软件的体系结构描述推荐实施规程)的概念模型图部分,从中一窥作为软件架构师的进行架构设计的思考角度与策略.如果我们把世界当做一场游戏,现在要玩的 ...

  3. linux根目录介绍

    1. /bin binary二进制 存放系统许多可执行程序文件 执行的相关指令,例如ls pwd whoami,后台的支持文件目录 2. /sbin super binary超级的二进制 存放系统许多 ...

  4. HTB Linux queuing discipline manual - user guide笔记

    1. Introduction HTB is meant as a more understandable, intuitive and faster replacement for the CBQ ...

  5. 设置HttponlyCookie解决mshtml编程无法获取验证码图片流

    最近给客户做的项目有一个新需求,客户需要在打开的IE浏览器中做自动登录,登录的页面上有神兽验证码.解决验证码的方案是找第三方平台打码.这样就有一个问题,如何把正确的验证码传给第三方打码平台. 大家都知 ...

  6. 爱上python之盲注探测脚本

    本文转自:i春秋论坛       前言: 最近在学python,做了个盲注的简单的跑用户的脚本,仅做个记录. sqmap也有不灵的时候,有时需要根据情况自写脚本探测 正文: 本地用大表姐给的sql和p ...

  7. Java程序入口:main()方法讲解

    Java程序的入口---main()方法的签名为:public static void main(String[] args) {...} ,其中, ♦ public修饰符:Java类由JVM调用,为 ...

  8. MQ 简单的使用

    需要创建两个控制台应用 引用用下面的包 (1)生产者 static void Main(string[] args) { ConnectionFactory factory = new Connect ...

  9. 使用git在github上创建新工程

    这段时间进经常会忘记如何在github上同步工程,于是又得查资料,查参考书,浪费了很长时间,因此有了感触,写几篇有关此类问题的篇章! 这是老手新手都十分容易犯的错误,就是在创建一个新github项目或 ...

  10. C语言数组一种巧妙的使用方式

    作为计算机一种比较古老的语言,它并没有随着岁月老去,而是仍旧在整个领域发挥出耀眼的光芒,就像写作,有很多光芒万丈的句子值得我们去珍藏,今天就遇到了个比较巧妙的数组使用方法,做个记录,以供后续使用. # ...