Очереди

Очередь –упорядоченный набор элементов, в котором элементы всегда добавляются в начало, а изымаются только из конца.

(Для очереди допустима вставка только в начало. Не вводится операция поиска элемента. Операция удаления применяется только к последнему элементу)

Использование очередей: множество запросов к ресурсу; в программах, моделирующих алгоритмы теории массового обслуживания и т.д.

Реализация: (список на основе указателей)

Процедура добавления элемента в конец списка (начало очереди):

var Head,Tail:Link;

procedure AddItem(A:Link);

begin

if Head=nil then Head:=A; {если очередь пустая}

else Tail^.Next:=A;

Tail:=A;

end;

Процедура извлечения элемента из очереди:

var Head, Tail:Link;

procedure DellItem(Var A:Link);

begin

A:=Head;

Head:=Head^.Next

end;