All pastes #978094 Raw Edit

Stuff

public text v1 · immutable
·published 2008-04-09 09:09 UTC
rendered paste body
program rev;
type
   Tlist    = ^ListItem;
   ListItem = record 
		 info : integer;
		 next : Tlist;
	      end;    

var
   list	 : Tlist;
   list1 : Tlist;
   k	 : integer;

procedure p1(list : Tlist; var new_list : Tlist);
var
   temp_list : Tlist;
begin
   new_list := nil;
   while list <> nil do begin
      new(temp_list);
      temp_list^.info := list^.info;
      temp_list^.next := new_list;
      new_list := temp_list;
      list := list^.next;
   end;
end; { p1 }

procedure add(var list : Tlist; info : integer);
var
   temp_list : Tlist;
begin
   if list = nil then begin
      new(list);
      list^.info := info;
      list^.next := nil;
   end else begin
      new(temp_list);
      temp_list^.info := info;
      temp_list^.next := list;
      list := temp_list;
   end;
end; { add }

procedure display(list : Tlist);
begin
   while list <> nil do begin
      write(list^.info, ' ');
      list := list^.next;
   end;
   writeln
end; { display }

begin
   for k := 1 to 10 do add(list, k);
   display(list);
   p1(list, list1);
   display(list1);
end.