Алгоритмы и программы. Афанасьева Т. В - 209 стр.

UptoLike

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

209
next:ptr;
end;
var
headptr:ptr;
s,p:ptr;
Пример 12.1. Процедура добавления элемента в начало списка.
procedure Add_begin;
begin
p:=headptr;
new(s);{выделение памяти под новый элемент списка}
s^.next:=p;{связывание нового элемента с головой исходного
списка}
s^.info:='добавляемая запись';
headptr:=s;{объявление нового элемента головой списка}
end;
Пример 12.2. Пример процедуры добавления элемента
в конец списка.
procedure Add_End;
begin
p:=headptr;{установка на начало}
while p^.next<>nil do
p:=p^next;{переход к последней записи}
new(p^.next);
p^.info:='добавляемая запись';
p^.next:=nil;
end;
Пример 12.3. Процедура удаления из ДП элементов списка.
Procedure DelAllZap;
Var
PP,P : Ptr;
begin
P := HeadPtr; {связывание текущего указ.Р с головой списка}
PP := P^.Next; {связывание указ.РР со след.элементом списка}
Dispose(P); {освобождение памяти для указ.Р}
While PP^.Next <> Nil Do {пока РР не последний}
begin
P := PP; {текущий указ.P стал равен РР }
PP := PP^.Next; {переход с след.элементу}
Dispose(P); {освобождение памяти для текущ.указателя}