На этом шаге рассмотрим очередь QQueue<T>
Очередь реализует структуру данных, работающую по принципу FIFO (First In First Out, первым пришел — первым ушел), т. е. из очереди удаляется не последний вставленный элемент, а тот, который был вставлен в очередь раньше всех остальных (рис. 1).
Рис.1. Принцип работы очереди
Реализована очередь в классе QQueue<T>, который унаследован от класса QList<T>. Следующий пример демонстрирует принцип использования очереди:
QQueue<int> queue; QQueue<int> num; for(int i=1;i<=5;i++) { queue.enqueue(i+i); num.enqueue(i); } while (!queue.empty()) { qDebug() << num.dequeue() << " элемент: " << queue.dequeue(); }
Рис.2. Результат работы программы
Файлы приложения можно взять здесь.
На следующем шаге рассмотрим ассоциативные контейнеры.