home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / spezial / 02 / t16.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1985-07-18  |  865 b   |  56 lines

  1. program t16;
  2. type keller=^kelem;
  3.      kelem=record key:integer; next:keller end;
  4.  
  5. var k:keller;
  6.     c:char;
  7.     i:integer;
  8.  
  9. function create:keller;
  10. begin
  11.   create:=nil
  12. end;
  13.  
  14. procedure push(var k:keller;newkey:integer);
  15. var k1:keller;
  16. begin
  17.   new(k1);
  18.   with k1^ do begin
  19.     key:=newkey;
  20.     next:=k
  21.   end;
  22.   k:=k1;
  23. end;
  24.  
  25. procedure pop(var k:keller);
  26. begin
  27.   k:=k^.next
  28. end;
  29.  
  30. function empty(k:keller):boolean;
  31. begin
  32.   empty:=k=nil
  33. end;
  34.  
  35. function top(k:keller):integer;
  36. begin
  37.   top:=k^.key
  38. end;
  39.  
  40. begin
  41.   writeln('Dynamische Kellerimplementierung.');
  42.   writeln('Folge von Integern eingeben und mit 0 beenden');
  43.   k:=create;
  44.   repeat
  45.     read(i);
  46.     push(k,i);
  47.   until i=0; writeln;
  48.   write('Kellerelemente : ');
  49.   while not empty(k) do begin
  50.     write(top(k),' ');
  51.     pop(k);
  52.   end;
  53.   writeln;
  54.   read(c);
  55. end.
  56.