упорядочить, выстроив один за другим (можно пронумеровать, выстроив натуральный ряд), • У нас получится массив элементов или список элементов • Дальше встаёт вопрос, как мы будем элементы в эту последовательность добавлять и извлекать • Можно произвольным образом (по адресу), а можно ввести некоторое правило
first-in first-out • Поведение можно реализовать поверх массива или списка Операции: • Add (enqueue) — поместить элемент в очередь • Remove (dequeue) — извлечь элемент из очереди
• Конвейер на производстве • Строительство юнитов на базе (RTS) • Очередь событий с устройств ввода (нажатие кнопок клавиатуры и клики мышки) • «Final destination» («Пункт назначения», 2000)
last-in first-out • Поведение можно реализовать поверх массива или списка Операции: • Push — положить элемент на вершину стека • Pop — забрать элемент с вершины стека
разные объекты (бутылка, банка, тряпка, гнилой арбуз и т. п.) — конвейер заполняется • Снимаем объекты с конвейера для переработки — автоматизированный модуль распознает объект и применяет к нему соответствующий инструмент • Операции: добавить объект, извлечь объект, посмотреть последовательность объектов на конвейере