На этом шаге мы рассмотрим поиск звена в однонаправленном кольцевом списке с удаленным заглавным звеном..
Поиск компоненты с заданным ключом необходим для процедур чтения и вставки компоненты в кольцевой список. Пусть требуется найти компоненту списка с ключом Key. Приведем функцию поиска:
Function Find (pBegin: PtrRec; Key: TypeElement; var pCKey: PtrRec) : Boolean; Var pAux : PtrRec; Begin Find := False; pCKey := Nil; {не найдено} pAux := pBegin^.pNext; {заглавное звено обогнули} While (pAux^.pNext <> pBegin^.pNext) and (pAux^.Element <> Key) do pAux := pAux^.pNext; If pAux^.Element = Key Then Begin Find := True; pCKey := pAux; End; End;
На следующем шаге мы рассмотрим добавление звена в кольцевой список с удаленным заглавным звеном.