Добавление элемента в конец списка - Turbo Pascal
Формулировка задачи:
Решение задачи: «Добавление элемента в конец списка»
procedure AddLast(value: string); {добавление элемента в конец списка} var Item: PList; begin New(Item);{выделяем память под новый элемент списка} Item^.value := value;{записываем данные в элемент} Item^.prior := Tail;{указателю на предыдущий элемент присваиваем указатель на последний элемент - хвост} Item^.next := nil;{указателю на следующий элемент присваиваем nil} if Tail <> nil then{если существует хвостовой элемент} Tail^.next := Item;{текущий элемент делаем хвостом} Tail := Item;{запоминаем указатель на хвост} if Head = nil then{если нулевой указатель на голову т.е. список пустой} Head := Tail;{делаем голову равной хвосту} end;
Объяснение кода листинга программы
Код написан на языке Turbo Pascal и представляет собой процедуру AddLast, которая добавляет элемент в конец списка.
В начале кода объявляется переменная Item
, которая представляет собой указатель на элемент списка. Затем выделяется память под новый элемент списка с помощью оператора New. Значение переменной value
присваивается новому элементу.
Далее, указатель Item
привязывается к предыдущему элементу списка с помощью свойства prior
. Указатель Item
также привязывается к nil
для указания на отсутствие предыдущего элемента.
Затем проверяется, существует ли хвостовой элемент в списке. Если да, то указатель на предыдущий элемент (который является хвостовым) присваивается указателю на новый элемент.
Далее запоминается указатель на хвостовой элемент, а если голова списка равна nil
(т.е. список пустой), то голова списка присваивается указателю на хвост.
Таким образом, после выполнения процедуры AddLast, элемент будет добавлен в конец списка.