C++中的queue类、QT中的QQueue类
2023-09-27 14:28:33 时间
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=0;i<5;i++)
{
Q.push(i); //进队列
}
cout<<"queue empty? "<<Q.empty()<<endl;
cout<<"queue size: "<<Q.size()<<endl;
cout<<endl;
for(int i=0;i<5;i++)
{
cout<<"queue front: "<<Q.front()<<endl;
Q.pop(); //出队列
}
return 0;
}
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=0;i<5;i++) { Q.enqueue(i); //入队 } qDebug()<<"queue empty: "<<Q.isEmpty(); qDebug()<<"queue size: "<<Q.size(); for(int i=0;i<5;i++) { qDebug()<<"queue last: "<<Q.last(); //返回当前队列最后一个个元素 qDebug()<<"queue head: "<<Q.dequeue(); //出队列,并且返回当前队列第一个元素 } qDebug()<<"queue empty: "<<Q.isEmpty(); qDebug()<<"queue size: "<<Q.size(); return 0; }
打印:
queue empty: true queue empty: false queue size: 5 queue last: 4 queue head: 0 queue last: 4 queue head: 1 queue last: 4 queue head: 2 queue last: 4 queue head: 3 queue last: 4 queue head: 4 queue empty: true queue size: 0
相关文章
- qt中信号槽传指针到工作线程,在工作线程释放传递过来的指针
- QT中QThread的各个方法,UI线程关系,事件关系详解(3)
- QT中添加图片资源的方法
- Qt 错误: 无法启动此程序 因为计算机丢失QtCore5.dll
- 【QT】Qt 使用MSVC2017找不到编译器的解决办法
- 基于 QT(C++) 开发的贪吃蛇游戏【100010582】
- 基于QT(C++)+SQLite实现(界面)Linux系统下的邮件收发软件【100010541】
- 基于QT(C++)实现学本科教务系统(URP系统)【100010528】
- 基于QT(C++)实现的翻金币游戏【100010527】
- 基于QT(C++)实现(窗体)UDP文件原型【100010516】
- 基于QT(C++)实现(GUI)旅行查询与模拟系统【100010171】
- 基于QT(C++)+Mysql实现的带GUI的图书管理系统【100010047】
- 关于Qt中的qss样式表需要注意的坑
- Qt编写可视化大屏电子看板系统15-曲线面积图
- Qt音视频开发32-Onvif网络设置
- Qt编写气体安全管理系统29-跨平台
- c++11 跨平台多线程demo和qt 静态链接(std::thread有join函数,设置 QMAKE_LFLAGS = -static)
- Qt 模拟鼠标点击(QApplication::sendEvent(ui->pushbutton, &event0);)
- Qt中暂停线程的执行(主线程和工作线程共用一把锁,一旦主线程将它锁上,工作线程就无法运行了,这也是一个办法)
- 为什么 qt 成为 c++ 界面编程的第一选择?
- Qt之描绘轮廓
- Qt之JSON生成与解析
- Qt之显示网络图片
- 2021-09-20 Process finished with exit code -1073741515 (0xC0000135) QT Clion
- Qt快捷键