This repository has been archived on 2024-12-25. You can view files and clone it, but cannot push or open issues or pull requests.
2024-03-10 20:32:51 +03:00

43 lines
979 B
ObjectPascal

// Выделение динамической памяти
// Использование указателей для создания односвязного списка
type
PNode = ^TNode;
TNode = record
data: integer;
next: PNode;
end;
function NewNode(d: integer; n: PNode): PNode;
begin
New(Result);
Result^.data := d;
Result^.next := n;
end;
var first: PNode;
begin
first := nil;
// Добавляем в начало односвязного списка
first := NewNode(3,first);
first := NewNode(7,first);
first := NewNode(5,first);
// Вывод односвязного списка
writeln('Содержимое односвязного списка: ');
var p := first;
while p<>nil do
begin
write(p^.data,' ');
p := p^.next;
end;
// Разрушение односвязного списка
p := first;
while p<>nil do
begin
var p1 := p;
p := p^.next;
Dispose(p1);
end;
end.