Слайд 2

Введение Очередь (queue) — это список, в который записи добавляются с

Введение

Очередь (queue) — это список, в который записи добавляются с

одной стороны, а удаляются с другой (работа с которым происходит по принципу "первым пришел — первым вышел" (first-in, first-out)).
Концепция очередей обязательно присутствует в любой системе, где объекты обслуживаются в порядке поступления.
Слайд 3

Введение Концы очереди получили свои названия по аналогии с очередью ожидания.

Введение

Концы очереди получили свои названия по аналогии с очередью ожидания.

Тот конец, откуда записи удаляются, называется головой (head) (или началом) очереди, так же как в кафе мы можем сказать, что следующим будет обслужен человек, стоящий в начале очереди. Аналогично, конец, куда добавляются записи, называется хвостом очереди (tail).
Слайд 4

Применение В программировании очереди применяются при решении многих задач. Один из

Применение

В программировании очереди применяются при решении многих задач. Один из

наиболее популярных видов таких задач — симуляция. Очереди также применяются в планировщиках задач операционных систем и при буферизации ввода/вывода.
Слайд 5

Способы реализации очереди Первый способ представляет очередь в виде массива и

Способы реализации очереди

Первый способ представляет очередь в виде массива и двух

целочисленных переменных start и end. Плюсы: возможна незначительная экономия памяти по сравнению со вторым способом; проще в разработке.
Второй способ основан на работе с динамической памятью. Очередь представляется в качестве линейного списка, в котором добавление/удаление элементов идет строго с соответствующих его концов. Плюсы: размер очереди ограничен лишь объёмом памяти.
Слайд 6

Способы реализации очереди Циклическая очередь - образуется цикл из ячеек памяти,

Способы реализации очереди

Циклическая очередь - образуется цикл из ячеек памяти, образующих

болк, выделенных для очереди. То есть, когда хвост очереди достигает конца блока, мы просто начинаем добавлять записи в начало этого блока, где к этому времени освобождается место.
Слайд 7

Проблемы в использовании списков Также как использование блок-схем привело к созданию

Проблемы в использовании списков

Также как использование блок-схем привело к созданию

запутанных алгоритмов, а бессистемное употребление оператора goto — к появлению плохо спроектированных программ, необдуманное использование указателей может служить причиной излишней сложности и подверженности структур данных ошибкам. Чтобы внести порядок в этот хаос, многие языки программирования ограничивают гибкость указателей. Например, в языке Java указатели в общей форме запрещены.