Qt队列的使用

一、queue:队列

队列是一种先进先出的数据结构,是一个模板类。队列和栈是一种数据逻辑概念,即数据能进行的操作。

主要区别是:队列先进先出(First In First Out),栈后进先出

链表和顺序表是一种数据存放方式,主要区别是:链表有节点,通过指针找到下一个节点,因此在内存中链表数据不需要连续存放;顺序表则是连续存放,通过第一个元素就可以找到其他元素。

二、C++中的队列

需要头文件 #include<queue>

queue<int> q;              //定义一个int型队列,其他常用基本类型都可以定义

q.empty();                    //返回队列是否为空

q.size();                        //返回当前队列长度

q.front();                       //返回当前队列的第一个元素

q.back();                       //返回当前队列的最后一个元素

q.push();                    //在队列后面插入一个元素

q.pop();                         //从当前队列里移出第一个元素

三、Qt中的队列

Qt中的队列存放在头文件 #include<QQueue>中,方法和C++差不多。

QQueue<QString> q;       //定义一个QString型队列,其他常用基本类型都可以定义

q.isEmpty();                      //返回队列是否为空

q.size();                            //返回队列元素个数

q.clear();                           //清空队列

q.enqueue();                     //在队列尾部添加一个元素,比如q.enqueue("string");

q.dequeue();                     //删除当前队列第一个元素,并返回这个元素

q.head();                           //返回当前队列第一个元素

q.last();                             //返回当前队列尾部的元素

 

 

 


 

Qt中,队列(QQueue)是一种容器类,用于存储元素,并按照先进先出(FIFO, First-In-First-Out)的顺序进行操作。QQueue是基于QList实现的,提供了方便的方法来添加、移除和访问元素。以下是一些常用的QQueue使用方法: 1. **包含头文件**: ```cpp #include <QQueue> ``` 2. **声明一个队列**: ```cpp QQueue<int> queue; ``` 3. **添加元素**: 使用`enqueue`方法向队列中添加元素。 ```cpp queue.enqueue(1); queue.enqueue(2); queue.enqueue(3); ``` 4. **移除元素**: 使用`dequeue`方法从队列中移除元素。 ```cpp int value = queue.dequeue(); // value = 1 ``` 5. **访问队首元素**: 使用`head`方法访问队首元素,但不移除它。 ```cpp int firstValue = queue.head(); // firstValue = 2 ``` 6. **检查队列是否为空**: 使用`isEmpty`方法检查队列是否为空。 ```cpp if (queue.isEmpty()) { // 队列为空 } ``` 7. **获取队列大小**: 使用`size`方法获取队列中元素的数量。 ```cpp int size = queue.size(); // size = 2 ``` 以下是一个完整的示例,展示了如何使用QQueue: ```cpp #include <QCoreApplication> #include <QQueue> #include <QDebug> int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); QQueue<int> queue; queue.enqueue(1); queue.enqueue(2); queue.enqueue(3); while (!queue.isEmpty()) { int value = queue.dequeue(); qDebug() << "Dequeued value:" << value; } return a.exec(); } ``` 在这个示例中,我们创建了一个整数队列,添加了三个元素,然后依次移除并打印它们。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值