版权声明:若无来源注明,Techie亮博客文章均为原创。 转载请以链接形式标明本文标题和地址:
本文标题:QQueue与QStack使用     本文地址:http://techieliang.com/2017/12/576/

1. 介绍

QQueue是Qt的队列实现,符合先进先出FIFO,继承自QList,可以使用QList所有方法,但不建议使用,属于QQueue的方法有

  1. T dequeue()
  2. void enqueue(const T &t)
  3. T &head()
  4. const T &head() const
  5. void swap(QQueue<T> &other)

QStack是Qt的栈实现,符合后进先出LIFO,继承自QVector,可以使用QVector所有方法,但不建议食用,属于QStack的方法有

  1. T pop()
  2. void push(const T &t)
  3. void swap(QStack<T> &other)
  4. T &top()
  5. const T &top() const

2. 简单范例

所有父类方法均可使用,可参见QList使用下面例子仅对比分析

  1. QQueue<int> m_queue;
  2. m_queue.enqueue(1);
  3. m_queue.enqueue(2);
  4. m_queue.enqueue(3);
  5. qDebug()<<m_queue.size();
  6. qDebug()<<m_queue.dequeue();
  7. qDebug()<<m_queue.dequeue();
  8. qDebug()<<m_queue.dequeue();
  9. qDebug()<<m_queue.size();
  10. QStack<int> m_stack;
  11. m_stack.push(1);
  12. m_stack.push(2);
  13. m_stack.push(3);
  14. qDebug()<<m_stack.size();
  15. qDebug()<<m_stack.pop();
  16. qDebug()<<m_stack.pop();
  17. qDebug()<<m_stack.pop();
  18. qDebug()<<m_stack.size();

结果

  1. 3
  2. 1
  3. 2
  4. 3
  5. 0
  6. 3
  7. 3
  8. 2
  9. 1
  10. 0
转载请以链接形式标明本文标题和地址:Techie亮博客 » QQueue与QStack使用

QQueue与QStack使用的更多相关文章

  1. Qt容器类(总结)(新发现的QQueue和QStack,注意全都是泛型)

    Introduction Qt库提供了一组基于模板的一般化的容器类.这些容器可以存储指定的类型的元素.例如,如果你需要一个可变大小的Qstring数组,可以用QVector<QString> ...

  2. 1.QT中的容器QVector,QList,QSet,QMap,QQueue,QStack,QMultiMap,QSingleList等

    1  新建一个项目 在pro文件中只需要加上CONFIG += C++11 main.cpp #include <QMap> int main() { QMap<int,QStrin ...

  3. 1.QT该容器QVector,QList,QSet,QMap,QQueue,QStack,QMultiMap,QSingleList等待

    1  新建一个项目 在pro文件里仅仅须要加上CONFIG += C++11 main.cpp #include <QMap> int main() { QMap<int,QStri ...

  4. QList, QLinkedList, QVector, QStack, QQueue的区别,以前也没见过QCache,而且可以自定义cost

    http://doc.qt.io/qt-4.8/containers.html http://doc.qt.io/qt-4.8/qcache.html

  5. C++中的stack类、QT中的QStack类

    C++中的stack 实现一种先进后出的数据结构,是一个模板类. 头文件 #include<stack> 用法(以int型为例): stack <int> s; //定义一个i ...

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

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

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

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

  8. C++中的容器类详解

    一.STL容器类 STL(Standard Template Library)的六大组件:容器(containers).迭代器(iterators).空间配置器(allocator).配接器(adap ...

  9. qt 总结

    Qt中的每个类,都有一个对应的同名头文件,其中包含其类定义.例如要使用QApplication类,则需要在程序中添加" #include <QApplication>" ...

随机推荐

  1. rails + MySQL 存储emoji表情 😯

    database.yml 加入 charset: utf8mb4 encoding: utf8mb4 collation: utf8mb4_unicode_ci 创建migration ,更改要存放表 ...

  2. python IO模式(多路复用和异步IO深入理解)

    1.事件渠道模型.事件渠道为异步IO的原型. 2.IO模式,一次IO调用会经历两个阶段.一.等待数据阶段,将数据从网络或者是磁盘读取到系统内核(kennel) 二.将数据从内核拷贝到进程中. 基于这两 ...

  3. 《C语言程序设计基础1》第二学期第一周学习总结

    **<C语言程序设计基础1>第二学期第一周学习总结 一. 本周学习内容总结 一维数组,了解了一维数组的定义(定义一个数组,需要明确数组变量名,数组元素的类型和数组大小,即数组中元素的数量) ...

  4. XAMPP之Mysql启动失败

    启动XAMPP中的Mysql出现如下: 可能的原因是本地有多个MySQL,所以要在注册表编辑器中将imagePath改成XAMPP中的mysql的地址.(打开注册表编辑器:win+R,输入regedi ...

  5. C# typeof() 和 GetType()区是什么

    1.typeof(x)中的x,必须是具体的类名.类型名称等,不可以是变量名称. 2.GetType()方法继承自Object,所以C#中任何对象都具有GetType()方法,它的作用和typeof() ...

  6. 20155301 2016-2017-2 《Java程序设计》第2周学习总结

    20155301 2016-2017-2 <Java程序设计>第2周学习总结 教材学习内容总结 教材的第三章内容主要分为两大方面: 一.程序中的数据类型,变量和运算符,主要讲述了各种类型的 ...

  7. 【LG3233】[HNOI2014]世界树

    题面 洛谷 题解 代码 #include <iostream> #include <cstdio> #include <cstdlib> #include < ...

  8. ES6 localStorage 类库

    无意中看到的,记录下. 用到了es6语法.支持在js中写构造函数 class CovLocalDB { constructor (name) { this.LS = null this.name = ...

  9. 利用存储过程生成大量的数据(oracle,mysql)

    在进行查询操作的性能测试时,往往需要测试大数据量模式下的查询功能的性能,这是就需要我们去创造一些测试数据来填充数据库,来模拟真是环境,造数据的方式有很多种,可以使用loadrunner,jmeter等 ...

  10. 测试基础-http协议(转)

    HTTP的特性 HTTP构建于TCP/IP协议之上,默认端口号是80 HTTP是无连接无状态的 HTTP报文 请求报文 HTTP 协议是以 ASCII 码传输,建立在 TCP/IP 协议之上的应用层规 ...