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:

最新文章

  1. 小程序用户反馈 - HotApp小程序统计仿微信聊天用户反馈组件,开源
  2. jvm七种垃圾收集器
  3. 多线程编程-工具篇-BlockingQueue
  4. Sum All Primes
  5. JS/PHP 浮点数精确运算
  6. 实现一个名为Person的类和它的子类Employee,Employee有两个子类Faculty 和Staff。
  7. volley(4) 请求参数:data:[ { bar_remain:XX , bar_code:&quot;XX&quot; , bar_id: XX}], method:GET
  8. SecureCRT使用教程
  9. CountDownLatch和CyclicBarrier的区别(转)
  10. NDepend 3.0已与Visual Studio集成
  11. newlisp
  12. 03-MySQL表操作
  13. textbox 未
  14. WSGI 的简单理解
  15. HATEOAS约束
  16. python写mapReduce初步
  17. Windows7+IIS+PHP7+MySQL5.7环境搭建
  18. Struts2中 Action class not found 问题
  19. APP发行渠道
  20. 微信 小程序组件 加入购物车全套 one wxml

热门文章

  1. DateFormat and SimpleDateFormat
  2. shell 命令 grep -R 查询包含指定内容的文件
  3. PB开发境界 多个DW进行update
  4. python爬虫学习之正则表达式的基本使用
  5. Go语言复制文件
  6. 第65节:Java后端的学习之Spring基础
  7. 使用yeoman搭建脚手架并发布到npm
  8. Python 音视频方面资源大全
  9. 改造kindeditor支持asp.net core mvc上传文件
  10. mysql 开发基础系列10 存储引擎 InnoDB 介绍