Перестановка указателя

Рис. 24. Исключение узла из начала списка

Procedure Del_First(var first: PList); { first – указатель на первый узел списка }
var p: PList;  
begin  
if (first <> nil) then begin { список не пуст? }
p:=first; { установка вспомогательного указателя на первый узел списка }
first:=p^.link; { установка указателя first на второй узел списка }
dispose(p); { элемент хранения первого узла списка вернуть в кучу }
end;  
end;  
       

Доступ к объектам динамической структуры может быть получен с помощью единственного вспомогательного указателя, который будет последовательно изменяться, всякий раз принимая значения адреса соседнего объекта, в направлении стрелки, изображающей связь. Адрес соседнего объекта извлекается из поля связи того элемента списка, на который в текущий момент ссылается указатель, затем полученный адрес присваивается этому указателю, который теперь открывает доступ к соседнему элементу списка. Такая операция называется перестановкой указателя (рис. 25). Операция перестановки указателя используется, если необходимо единообразно обработать все или несколько следующих подряд элементов списка (для этого следует организовать цикл, включающий операции обработки элемента и перестановки указателя). В этом случае последовательность операций перестановки указателя обеспечивает проход по списку.

 
 



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: