QQueue 类

The QQueue class is a generic container that provides a queue. 更多...

头: #include <QQueue>
qmake: QT += core
继承: QList

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

公共函数

T dequeue ()
void enqueue (const T & t )
T & head ()
const T & head () const
void swap (QQueue<T> & other )

额外继承成员

  • 3 static public members inherited from QList

详细描述

The QQueue class is a generic container that provides a queue.

QQueue <T> is one of Qt's generic 容器类 。它实现用于相同类型项的队列数据结构。

队列为 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 's functionality also applies to QQueue . For example, you can use isEmpty () to test whether the queue is empty, and you can traverse a QQueue 使用 QList 的迭代器类 (例如: QListIterator ). But in addition, QQueue provides three convenience functions that make it easy to implement FIFO semantics: enqueue (), dequeue (),和 head ().

QQueue 's value type must be an 可赋值数据类型 . 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 引入。