Добавление элемента в конец списка - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

поправка
объясните пожалуйста пошагово

Решение задачи: «Добавление элемента в конец списка»

textual
Листинг программы
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, элемент будет добавлен в конец списка.

Оцени полезность:

7   голосов , оценка 4.429 из 5
Похожие ответы