07 - Stek

Primer programa koji žonglira stek:

program stek;
type
  stekpok=^slog;
  slog= record
          ime: string[20];
          sled: stekpok;
        end;
var
  vrh: stekpok;
procedure push(var vrhsteka: stekpok; i: string);
var
  temp: stekpok;
begin
  temp := vrhsteka;
  new(vrhsteka);
  vrhsteka^.ime := i;
  vrhsteka^.sled := temp;
end;

procedure pop(var vrhsteka: stekpok; var i: string);
var
  temp: stekpok;
begin
  temp := vrhsteka;
  i := vrhsteka^.ime;
  vrhsteka := vrhsteka^.sled;
  dispose(temp);
end;

procedure formiranjesteka(var vrhsteka: stekpok);
var
  i: string;
begin
  vrhsteka := nil;
  write('Unesite element koji ide na stek (za kraj kraj): ');
  readln(i);
  while i <> 'kraj' do begin
    push(vrhsteka, i);
    write('Unesite element koji ide na stek (za kraj kraj): ');
    readln(i);
  end;
end;

procedure ispissteka(var vrhsteka: stekpok);
var
  i: string;
begin
  writeln('Pocetak ispisa');
  while vrhsteka <> nil do begin
    pop(vrhsteka, i);
    writeln(i);
  end;
  writeln('Kraj ispisa');
end;

begin
  formiranjesteka(vrh);
  ispissteka(vrh);
  readln;
end.
Vi ste ovde: Home Predavanja Treća godina Informatički smer - Programski jezici 07 - Stek