Реферат: Алгоритмические языки и программирование
next:pointer;
end;
list = pointer;
где поле next - указатель на следующий элемент списка. Ука-
затель последнего элемента равен NIL. Однако при использовании
однонаправленных списков для решения некоторых задач могут воз-
никнуть определенные трудности. По однонаправленному списку
можно двигаться только в одну сторону - от первого элемента к
последнему. Между тем нередко необходимо произвести обработку
элементов, предшествующих элементу с заданным свойством. Для
устранения этого неудобства в каждый элемент добавляется еще
одно поле prev - указатель на предшествующий элемент:
type pointer = ^element;
element = record
info:TValue;
prev:pointer;
next:pointer;
end;
dlist = pointer;
Динамическая структура состоящая из звеньев такого типа на-
зывается двунаправленным списком. Наличие ссылки на предыдущий
элемент списка позволяет двигаться в любом направлении по спис-
ку. В поле prev заглавного звена стоит ссылка NIL, так как у
заглавного звена нет предыдущего. Иногда значением поля next
последнего звена ставят ссылку на заглавное звено, а в поле
prev заглавного звена - ссылку на последнее звено. Список замы-
кается в "кольцо". Списки такого вида называют кольцевыми.
Списки также допускают отображение на массив, например одно-
направленный список допускает такое отображение: