Основы программирования на языке Turbo Pascal. Беляева И.В. - 250 стр.

UptoLike

Составители: 

250
Здесь BT – некоторый базовый тип элементов списка.
Если указатель ссылается только на следующее звено списка (как
показано на рисунке и в объявленной выше структуре), то такой список
называют однонаправленным, если на следующее и предыдущее звенья
двунаправленным списком. Если указатель в последнем звене установлен
не в Nil, а ссылается на заглавное звено списка, то такой список
называется кольцевым. Кольцевыми могут быть и однонаправленные, и
двунаправленные списки.
Более подробно рассмотрим работу со связанными списками на
примере однонаправленного некольцевого списка.
Выделим типовые операции над списками:
добавление звена в начало списка;
удаление звена из начала списка;
добавление звена в произвольное место списка, отличное от начала
(например, после звена, указатель на которое задан);
удаление звена из произвольного места списка, отличного от начала
(например, после звена, указатель на которое задан);
проверка, пуст ли список;
очистка списка;
печать списка.
Реализуем выделенный набор операций в виде модуля. Подключив
этот модуль, можно решить большинство типовых задач на обработку
списка. Пусть список объявлен так, как было описано выше. Первые
четыре действия сначала реализуем отдельно, снабдив их иллюстрациями.
1. Добавление звена в начало списка
{Процедура добавления звена в начало списка; в x
содержится добавляемая информация}
Procedure V_Nachalo(Var First : U; X : BT);
Var Vsp : U;
Begin
New(Vsp);
Vsp^.Inf := X;