QQueue 类

template <typename T> class QQueue

QQueue 类是一个提供队列的泛型容器。 更多...

头文件 #include <QQueue>
CMakefind_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmakeQT += core
继承 QList

注意:本类中所有函数都是可重入的

公开函数

Tdequeue()
voidenqueue(const T &t)
T &head()
const T &head() const
voidswap(QQueue<T> &other)

详细描述

QQueue<T> 是 Qt 的泛型 容器类 之一。它实现了用于相同类型项的队列数据结构。

队列是一种先进先出(FIFO)结构。使用 enqueue() 方法将项添加到队列的尾部,并使用 dequeue() 方法从队列头端检索项。函数 head() 提供对队列头端项的访问,但不移除它。

示例

QQueue<int> queue;
queue.enqueue(1);
queue.enqueue(2);
queue.enqueue(3);
while (!queue.isEmpty())
    cout << queue.dequeue() << endl;

示例将按顺序输出 1、2、3。

QQueue 继承自 QList。QList 的所有功能也适用于 QQueue。例如,可以使用 isEmpty() 测试队列是否为空,并使用 QList 的迭代类(例如,QListIterator)遍历 QQueue。但除此之外,QQueue 还提供了三个方便的函数,使其能够轻松实现 FIFO 语义:enqueue()、dequeue() 和 head()。

QQueue 的值类型必须是 可赋值的数据类型。这涵盖了大多数常见的数据类型,但编译器不允许例如存储 QWidget 作为值。请使用 QWidget*。

另请参阅:QListQStack

成员函数文档

T QQueue::dequeue()

从队列中删除头项并返回它。此函数假定队列为非空。

这与 QList::takeFirst 相同。

另请参阅:head()、enqueue() 和 isEmpty()。

void QQueue::enqueue(const T &t)

将值t添加到队列尾部。

这与QList::append()相同。

另请参阅dequeue()和head()。

返回队列头项的引用。此函数假定队列不为空。

这与QList::first()相同。

另请参阅dequeuestä, enqueueisEmpty

const T &QQueue::head() const

这是一个重载函数。

[noexcept] void QQueue::swap(QQueue<T> &other)

将队列other与此队列交换。此操作非常快且永远不会失败。

© 2024 Qt公司有限公司。包含在此处的文档贡献的版权分别为各自所有者所有。此处提供的文档是根据自由软件基金会发布的GNU自由文档许可证版本1.3的条款许可的。Qt及其相关标志是芬兰的Qt公司及其在世界各国的商标。所有其他商标均为其各自所有者的财产。