Добавление элемента в конец списка - Pascal ABC
Формулировка задачи:
Помогите, пожалуйста.
Напишите программу добавления элемента в конец односвязного списка(без использования других процедур)
На языке Pascal
Решение задачи: «Добавление элемента в конец списка»
textual
Листинг программы
type PRec:^TRec;
TRec: Record
Next:PRec;
{и чо еще тебе надо сюда}
end;
var p,q:PRec;
List:PRec; {начало списка}
BEGIN
{здесь заполнение списка}
p:=List;
While p^.Next<>nil do
p:=p^.Next;
New (q);
{заполняешь поля записи q}
p^.Next:=q;
END.
Объяснение кода листинга программы
В данном коде происходит добавление элемента в конец списка.
- Создается тип
PRec, который является ссылкой на запись типаTRec. - Создается переменная
List, которая инициализируется начальным элементом списка. - Создаются две переменные
pиq, которые являются ссылками на записи типаTRec. - Заполняется список элементами.
- Переменная
pустанавливается равнойList, чтобы начать цикл. - В цикле пока
p^.Nextне равноnil(т.е. пока не достигнут конец списка), переменнаяpобновляется, чтобы указать на следующий элемент списка. - Выделяется новая память для записи типа
TRecс помощью функцииNew. - Значения полей записи
qзаполняются. p^.Nextобновляется, чтобы указать на новый элемент спискаq.- Цикл завершается, когда достигается конец списка (
p^.Nextравноnil). Обратите внимание, что в данном коде не используются вложенные списки.