Pascal. связные списки.
Добавлено: 02 ноя 2008, 21:56
Надо как-то доделать-переделать чтобы был связный список из 6 случ. значений, процедура печати значений списка. А потом добавить новый узел в конец списка.
Пожайлусто-пожайлусто, помогите!!!!!
USES CRT;
TYPE
TKey = integer;
PNode = ^TNode;
TNode = record
key : TKey; next : PNode;
end;
{---------------------------------------}
PROCEDURE Init(p : PNode);
begin
p:= nil;
end;
{---------------------------------------}
PROCEDURE WriteLst(p : PNode);
begin
if p = nil then
Writeln('nil')
else begin
while p <> nil do
begin
Write(p^.key:4); p:= p^.next;
end;
Writeln;
end;
end;
{---------------------------------------}
PROCEDURE Push(var p : PNode; x : TKey);
var
q : PNode;
begin
New(q); q^.key:= x; q^.next:= p; p:= q;
end;
{---------------------------------------}
VAR
lst, p : PNode; i : byte; x : TKey;
BEGIN
CLrScr;
Init(lst);
Randomize;
for i:= 1 to 6 do begin
x:= random(20); Push(lst, x);
end;
WriteLst(lst);
REadln;
END.
Пожайлусто-пожайлусто, помогите!!!!!
USES CRT;
TYPE
TKey = integer;
PNode = ^TNode;
TNode = record
key : TKey; next : PNode;
end;
{---------------------------------------}
PROCEDURE Init(p : PNode);
begin
p:= nil;
end;
{---------------------------------------}
PROCEDURE WriteLst(p : PNode);
begin
if p = nil then
Writeln('nil')
else begin
while p <> nil do
begin
Write(p^.key:4); p:= p^.next;
end;
Writeln;
end;
end;
{---------------------------------------}
PROCEDURE Push(var p : PNode; x : TKey);
var
q : PNode;
begin
New(q); q^.key:= x; q^.next:= p; p:= q;
end;
{---------------------------------------}
VAR
lst, p : PNode; i : byte; x : TKey;
BEGIN
CLrScr;
Init(lst);
Randomize;
for i:= 1 to 6 do begin
x:= random(20); Push(lst, x);
end;
WriteLst(lst);
REadln;
END.