На этом шаге мы рассмотрим добавление звена в однонаправленный кольцевой список с включенным заглавным звеном..
Пусть pCKey определяет ссылку на компоненту с заданным ключом Key.
Возможны два случая вставки нового элемента в список: вставка перед ключом Key и за ключом Key.
Рассмотрим процедуру добавления звена с информационным полем Elem в кольцо за звеном, на которое указывает pCKey:
Procedure Add_Ring1 (pCKey : PtrRec; Elem : TypeElement); Var pAux: PtrRec; Begin New (pAux); pAux^.Element := Elem; pAux^.pNext := pCKey^.pNext; pCKey^.pNext := pAux End;
Добавление звена с информационным полем Elem перед звеном, на которое указывает pCKey:
Procedure Add_Ring2 (pCKey : PtrRec; Elem : TypeElement); Var pAux : PtrRec; Begin New (pAux); pAux^.pNext := pCKey^.pNext; pCKey^.pNext := pAux; pAux^.Element := pCKey^.Element; pCKey^.Element := Elem; End;
На следующем шаге мы рассмотрим удаление звена кольцевого однонаправленного списка с включенным заглавным звеном.