Книга: Фундаментальные алгоритмы и структуры данных в Delphi
Очереди
Очереди
И, наконец, последним моментом, который мы рассмотрим в этой главе, будут очереди - последняя базовая структура данных. В то время как извлечение элементов из стека происходит в порядке, обратном тому, в котором они вносились, в очереди элементы выбираются в порядке их добавления. Таким образом, очередь относится к структурам типа "первый пришел, первый вышел" (FIFO - first in, first out). С очередью связаны две основные операции: постановка в очередь (т.е. добавление нового элемента в очередь) и снятие с очереди (т.е. извлечение из нее самого старого элемента).
Рисунок 3.9. Постановка в очередь и снятие с очереди
Иногда эти операции ошибочно называют заталкиванием и выталкиванием. Это абсолютно неверные термины для очереди. Ближе к истине будут слова включение и исключение.
Как и стеки, очереди можно реализовать на основе односвязных списков или массивов. Тем не менее, в отличие от стеков, очень трудно добиться высокой эффективности реализации на основе массивов. К тому же организация очередей на базе связных списков ничуть не сложнее. Поэтому давайте для начала рассмотрим построение очереди на базе односвязных списков.
- При печати появляется сообщение об ошибке подсистемы Диспетчера очереди печати. Что делать?
- Очереди на основе массивов
- Расширение очереди по приоритету
- 9.3. Базовое межпроцессное взаимодействие: каналы и очереди FIFO
- 9.3.2. Очереди FIFO
- Очереди выполнения
- Очереди отложенных действий
- Очереди запросов
- Объект очереди
- Очередизация асинхронных вызовов процедур
- Диспетчер очереди печати
- Система ДДД – путь к построению очереди из клиентов