Включение узла в начало списка

Рис. 21. Структура односвязного списка

На первый элемент списка указывает указатель first. Если список пуст, то first = nil. Если список не пуст, то к атрибуту любого его элемента (например, первого) можно получить доступ через указатель.

x:=first ^.info; p:=first ^.link; { значение информационного поля первого элемента } { значение поля связи первого элемента – адрес второго элемента }

К атрибутам любого элемента списка, кроме первого, возможен дистанционный доступ.

x:=first ^.link ^.info; { значение информационного поля второго элемента }

Дистанционный доступ ко второму узлу списка эквивалентен следующей последовательности операторов:

p:=first ^.link; x:=p^.info; { установка вспомогательного указателя на второй узел списка } { значение информационного поля второго узла списка }

Одна из самых простых операций по модификации списка – включение нового узла в его начало (рис. 22): элемент хранения типа list размещается в памяти и указатель на него присваивается некоторой вспомогательной переменной p, затем устанавливается связь между вставленным узлом и списком, после чего указатель на первый элемент списка получает новое значение.



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



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