PDA

View Full Version : قطعه برنامه ای برای لیست پیوندی Linked List



bijibuji
یک شنبه 11 مرداد 1388, 08:28 صبح
با سلام
لیست پیوندی زیر رو داریم:

http://barnamenevis.org/forum/attachment.php?attachmentid=34409&stc=1&d=1249187010

می خوایم تست کنیم ببینیم روال یازگشتی زیر چه خروجی رو روی صفحه چاپ می کنه:


Procedure WHAT(L)
Begin
If L <> 0 then begin
WHAT (Link(L));
Print(Data(L));
WHAT (Link(L));
Print (Data(L));
End;
End;برای این منظور، من برنامه زیر رو در محیط پاسکال نوشتم:


uses crt;
type
pointer=^node;
node=record
data:char;
link:pointer;
end;
var
head,temp1,temp2:pointer;
newparameter:char;
procedure WHAT(L:pointer);
begin
if L<>nil then
begin
WHAT(L^.link);
write(L^.data);
WHAT(L^.link);
write(L^.data);
end;
end;
begin
clrscr;
writeln;
writeln;
writeln;
writeln;
writeln;
writeln('Enter Parameters...');
readln(newparameter);
new(head);
head^.data:=newparameter;
head^.link:=nil;
while newparameter<>chr(13) do
begin
new(temp1);
temp2:=head;
while temp2^.link<>nil do
temp2:=temp2^.link;
temp2^.link:=temp1;
temp1^.data:=newparameter;
temp1^.link:=nil;
readln(newparameter);
end;
writeln;
writeln;
writeln;
write(' ');
temp2:=head;
while temp2^.link <> nil do
begin
write(temp2^.data,' ----> ');
temp2:=temp2^.link;
end;
write('nil');
readln;
writeln;
writeln;
writeln;
writeln;
write(' ');
WHAT(head);
readln;
end.

اما در خروجی به مشکل بر می خوره. کسی نمیدونه مشکل از کجاست؟