Исключение из списка узла за тем узлом, на
Рис. 26. Включение узла в список за тем узлом, на который предварительно установлен указатель
Procedure Ins(first, p: PList); | { first – указатель на первый узел списка, | |||
p – предварительно установленный указатель} | ||||
var q: PList; | { q – указатель на вставляемый узел } | |||
begin | ||||
if (first <> nil) and (p <> nil) then | { указатель p действительно установлен? } | |||
begin | ||||
new(q); | { создание нового узла списка для вставки } | |||
readln(q^.info); | { заполнение информационного поля нового узла } | |||
q^.link:=p^.link; | { заполнение поля связи нового узла } | |||
p^.link:=q; | { изменение поля связи того узла, за которым вставлен новый узел } | |||
end; | ||||
end; | ||||
Исключение из списка элемента за тем элементом, на который предварительно установлен указатель, выполняется с использованием вспомогательного указателя на исключаемый элемент. Последовательность операций исключения иллюстрируется рис. 27. После выполнения операции исключения значение указателя на первый элемент списка не изменяется. Значение указателя на тот элемент, за которым выполнено исключение, также не изменяется.