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

Абстрактный тип данных для очереди определяется следующими структурой и операциями. Как говорилось выше, очередь структурирована как упорядоченная коллекция элементов, которые добавляются с одного конца (“хвоста”), а удаляются с другого (“головы”). Очередь поддерживает свойство упорядочения 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