QQueue 类是提供队列的通用容器。 更多...
头: | #include <QQueue> |
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.
Removes the head item in the queue and returns it. This function assumes that the queue isn't empty.
这如同 QList::takeFirst ().
另请参阅 head (), enqueue (),和 isEmpty ().
添加值 t 到队列末尾。
这如同 QList::append ().
Returns a reference to the queue's head item. This function assumes that the queue isn't empty.
这如同 QList::first ().
另请参阅 dequeue (), enqueue (),和 isEmpty ().
这是重载函数。
交换队列 other with this queue. This operation is very fast and never fails.
该函数在 Qt 4.8 引入。