QQueue 类

模板 <typename T> 类 QQueue

QQueue 类是提供队列的通用容器。 更多...

头: #include <QQueue>
CMake: find_package(Qt6 COMPONENTS Core REQUIRED)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core
继承: QList

注意: 此类的所有函数 可重入 .

公共函数

T dequeue ()
void enqueue (const T & t )
T & head ()
const T & head () const
void swap (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() << Qt::endl;
					

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

QQueue 继承自 QList 。所有 QList 功能也适用于 QQueue。例如,可以使用 isEmpty () 以测试队列是否为空,可以遍历 QQueue 使用 QList 的迭代器类 (例如: QListIterator )。但此外,QQueue 还提供了易于实现 FIFO (先进先出) 语义的 3 个方便函数: enqueue (), dequeue (),和 head ().

QQueue 的值类型必须是 可赋值数据类型 . This covers most data types that are commonly used, but the compiler won't let you, for example, store a QWidget as a value. Use QWidget * instead.

另请参阅 QList and QStack .

成员函数文档编制

T QQueue:: dequeue ()

Removes the head item in the queue and returns it. This function assumes that the queue isn't empty.

这如同 QList::takeFirst ().

另请参阅 head (), enqueue (),和 isEmpty ().

void QQueue:: enqueue (const T & t )

添加值 t 到队列末尾。

这如同 QList::append ().

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

T &QQueue:: head ()

Returns a reference to the queue's head item. This function assumes that the queue isn't empty.

这如同 QList::first ().

另请参阅 dequeue (), enqueue (),和 isEmpty ().

const T &QQueue:: head () const

这是重载函数。

void QQueue:: swap ( QQueue < T > & other )

交换队列 other with this queue. This operation is very fast and never fails.