На этом шаге мы рассмотрим добавление компоненты в конец очереди.
Добавление компоненты производится в конец очереди.
Рассмотрим процесс добавления компоненты в конец очереди:
New(pAux);
Рис.1. Сформируем новое звено очереди
pAux^.pNext := Nil;
Рис.2. Ссылка нового звена на следующий элемент очереди не определена
pEnd^.pNext := pAux;
Рис.3. Последний элемент очереди должен ссылаться на новое звено
pEnd := pAux;
Рис.4. Указатель на последний элемент очереди передвигаем
pEnd^.Element := T2;
Рис.5. Результат добавления нового элемента в конец очереди
Рассмотрим процедуру добавления элемента с полем данных T в конец очереди:
Procedure Add_Queue(var pEnd: PtrRec; T: TypeElement); Var pAux : PtrRec; Begin New(pAux); pAux^.pNext := Nil; pEnd^.pNext := pAux; pEnd := pAux; pEnd^.Element := T; Dispose(pAux); pAux := Nil; End;
На следующем шаге мы рассмотрим удаление первой компоненты из очереди.