Абстрактный тип данных “очередь”

Абстрактный тип данных для очереди определяется следующими структурой и операциями. Как описывалось выше, очередь структурирована как упорядоченная коллекция элементов, которые добавляются с одного конца, называемого “хвост”, и удаляются с другого, называемого “голова”. Очередь поддерживает свойство упорядочения FIFO. Операции для очереди представлены ниже.

Как пример, если мы предположим, что q - это очередь, которая создана и пока пуста, то Таблица 1 показывает результаты последовательности операций над нею. Содержимое очереди показано таким образом, что голова находится справа. 4 была первым элементом, ожидающим обработки, поэтому она будет первым элементом, убираемым из очереди.

Таблица 1: Пример операций для очереди
Оператор Содержимое Возвращаемое значение
q.isEmpty() [] True
q.enqueue(4) [4]  
q.enqueue('dog') ['dog',4]  
q.enqueue(True) [True,'dog',4]  
q.size() [True,'dog',4] 3
q.isEmpty() [True,'dog',4] False
q.enqueue(8.4) [8.4,True,'dog',4]  
q.dequeue() [8.4,True,'dog'] 4
q.dequeue() [8.4,True] 'dog'
q.size() [8.4,True] 2
Next Section - Реализация очереди на Python