Класс 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) |
- 78 публичных функций унаследовано от QList
Дополнительные унаследованные члены
- 3 статических публичных члена, унаследованных от QList
Подробное описание
Класс QQueue — это обобщённый контейнер, обеспечивающий работу очереди.
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(), чтобы проверить, пуста ли очередь, и вы можете пройти по QQueue с помощью итераторов QList (например, QListIterator). Но, помимо этого, QQueue предоставляет три удобные функции, которые облегчают реализацию семантики FIFO: enqueue(), dequeue() и head().
Тип значения QQueue должен быть типом данных, допускающим присваивание. Это охватывает большинство типов данных, которые обычно используются, но компилятор не позволит вам, например, хранить QWidget как значение. Используйте QWidget* вместо этого.
Документация по функциям-членам
T QQueue::dequeue()
Удаляет элемент начала очереди и возвращает его. Эта функция предполагает, что очередь не пуста.
Это то же самое, что и QList::takeFirst().
См. также head(), enqueue(), и isEmpty().
void QQueue::enqueue(const T &t)
Добавляет значение t в конец очереди.
Это то же самое, что и QList::append().
T &QQueue::head()
Возвращает ссылку на элемент начала очереди. Эта функция предполагает, что очередь не пуста.
Это то же самое, что и QList::first().
См. также dequeue(), enqueue(), и isEmpty().
const T &QQueue::head() const
Это перегруженная функция.
void QQueue::swap(QQueue<T> &other)
Меняет местами очередь other с этой очередью. Эта операция очень быстрая и никогда не терпит неудачу.
Эта функция была представлена в Qt 4.8.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.6/qqueue.html