QQueue 類

模闆 <typename T> 類 QQueue

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.

另請參閱 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 ().

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.

該函數在 Qt 4.8 引入。