C++中的queue
实现一种先进先出的数据结构,是一个模板类
头文件 #include<queue>
queue<int> Q; //定义一个int型队列
Q.empty(); //返回队列是否为空
Q.size(); //返回当前队列长度
Q.front(); //返回当前队列的第一个元素
Q.back(); //返回当前队列的最后一个元素
Q.push(); //在队列后面插入一个元素, 比如插入数字5: Q.push(5)
Q.pop(); //从当前队列里,移出第一个元素
1 #include <iostream>
2 #include <queue>
3
4 using namespace std;
5 int main()
6 {
7 queue<int> Q;
8 cout<<"queue empty? "<<Q.empty()<<endl;
9
10 for(int i=0;i<5;i++)
11 {
12 Q.push(i); //进队列
13 }
14
15 cout<<"queue empty? "<<Q.empty()<<endl;
16 cout<<"queue size: "<<Q.size()<<endl;
17 cout<<endl;
18
19 for(int i=0;i<5;i++)
20 {
21 cout<<"queue front: "<<Q.front()<<endl;
22 Q.pop(); //出队列
23 }
24
25 return 0;
26 }
QT中的QQueue
它的父类是QList,是个模板类
头文件: #include <QQueue>
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 ); //以数组形式访问队列元素
1 #include <QtGui>
2 #include <QQueue>
3 #include <QDebug>
4
5 int main(int argc,char * argv[])
6 {
7 QQueue<int> Q; //定义一个int型队列
8 qDebug()<<"queue empty: "<<Q.isEmpty(); //返回队列是否为空
9
10 for(int i=0;i<5;i++)
11 {
12 Q.enqueue(i); //入队
13 }
14
15 qDebug()<<"queue empty: "<<Q.isEmpty();
16 qDebug()<<"queue size: "<<Q.size();
17
18 for(int i=0;i<5;i++)
19 {
20 qDebug()<<"queue last: "<<Q.last(); //返回当前队列最后一个个元素
21 qDebug()<<"queue head: "<<Q.dequeue(); //出队列,并且返回当前队列第一个元素
22 }
23
24 qDebug()<<"queue empty: "<<Q.isEmpty();
25 qDebug()<<"queue size: "<<Q.size();
26
27 return 0;
28 }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)