版权声明:若无来源注明,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. 20155235 《Java程序设计》 实验五 Java网络编程及安全

    20155235 <Java程序设计> 实验五 Java网络编程及安全 实验内容 1.掌握Socket程序的编写: 2.掌握密码技术的使用: 3.设计安全传输系统. 实验要求 没有Linu ...

  2. WPF GDI+字符串绘制成图片(二)

    原文:WPF GDI+字符串绘制成图片(二) 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/BYH371256/article/details/83 ...

  3. [2016北京集训测试赛7]isn-[树状数组+dp+容斥]

    Description Solution 定义dp[i][j]为在1到i个数中选了j个数,并且保证选了i的选法总数. dp[i][j]为所有满足A[k]>A[i]的k(k<i)的dp[k] ...

  4. 1116: [POI2008]CLO

    1116: [POI2008]CLO https://lydsy.com/JudgeOnline/problem.php?id=1116 分析: 单独考虑每个联通块的情况. 设这个联通块里有n个点,那 ...

  5. m2eclipse安装遇到的问题——备忘

    手贱把m2eclipse给卸载了,结果重新安装的时候,发现原来的网址不好用了,去官网查了发现改成了http://download.eclipse.org/technology/m2e/releases ...

  6. 解析hdr图像文件的python实现

    如题 import cv2 import numpy as np def rgbe2float(rgbe): res = np.zeros((rgbe.shape[0],rgbe.shape[1],3 ...

  7. Yii2 模块module笔记

    包含内容: 使用GII新建module 建立子模块 在其他控制器中调用模块的操作(action) 1. 使用Gii工具新建module 注意模块的路径,我们没有写backend\modules\Art ...

  8. Spark 序列化问题

    在Spark应用开发中,很容易出现如下报错: org.apache.spark.SparkException: Task not serializable at org.apache.spark.ut ...

  9. Iterable/Iterator傻傻分不清

    区别可迭代对象和迭代器 1.判断是否可以迭代 from collections import Iterabledef fid(times): n = 0 a , b = 0,1 while n < ...

  10. 牛客网暑期ACM多校训练营(第一场):E-Removal(DP)

    链接:E-Removal 题意:给出序列 s1, s2, ..., sn ,1<=s[i]<=10.问删除m个数后,有多少种不同的序列. 题解:定义dp[i][j]代表长度为i,最末尾的数 ...