Обращение к элементам списка
Хранение списка
Оперирование элементами списка
Для того чтобы сохранить информацию обо всем списке, достаточно только одной переменной - указателя на первый элемент этого списка. Обычно его называют головой списка. Указатель на голову должен быть выделенным: с ним нельзя производить никаких действий, которые могут стать причиной утери всего списка. Для работы со списком обычно заводят вспомогательный указатель.
Например:
var head,p,q: uk_spisok;Но, вообще говоря, нет никаких специальных правил, которые обязали бы программиста давать выделенным указателям особые имена. Например, на рис. 10.1 выделенные указатели имеют имена head, tail, tree_root и start.
Если есть указатель, указывающий на некоторый элемент списка, то содержимое полей этого элемента и даже следующих за ним можно получить так (см. рис. 10.2):
p | - адрес текущего элемента списка; |
p^ | - запись из нескольких полей, хранящаяся по адресу p; |
p^.znachenie | - значение первого поля этой записи; |
p^.next_element | - значение второго поля этой записи, являющееся адресом следующего элемента списка; |
p^.next_element^.znachenie | - значение, хранящееся в первом поле элемента списка, следующего за тем, на который указывает р. |
Рис. 10.2. Правила обращения к элементам списка