Rifle
Цитата:
|
Насколько я понимаю это пример работы с указателями. Если можно чтонить по связанным спискам.
|
Каждый элемент списка представляет собой запись, состоящую из двух частей. Первая часть -- иняормационная. Вторая часть обеспечивает связь со следующим элементом списка.
Вот, например один из возможных вариантов списка -- программа, создающая и читающая список чисел:
type p_subject=^subject;
subject=record
number:longint;
next: p_subject;
end;
var top: p_subject;
run: p_subject;
buf: longint;
i:integer;
begin
for i:= 1 to 5 do
begin
buf:=i;
new(run);
run^.number:=buf;
run^.next:=top;
top:=run;
end;
while run<>nil do begin
writeln(run^.number);
run:=run^.next;
end;
end.
Из списка можно удалить любой элемент, можно так же и добавить элемент в любое место списка. Существует так же возможность сортировать данные в списке по какому-либо признаку.