const
StosMax = 10; //Stos 10 elementowy
var
stos : array[1..StosMax] of integer;
szczyt : integer = 0;
procedure push(element : integer);
begin
if szczyt < StosMax then
begin
//wrzuć na stos
Inc(szczyt);
stos[szczyt] := element;
end
else
begin
writeln('Stos jest pelny'); //Stos jest pełny
end;
end;
function pop : integer;
begin
if szczyt <> 0 then
begin
//zdejmij ze stosu
pop := stos[szczyt];
Dec(szczyt);
end
else
begin
writeln('Nie ma juz nic na stosie'); //Stos jest pusty
pop := -1; //-1 lub inna wartość kontrolna (wartownik) który poinformuje o
//pustym stosie (najlepiej wybrać wartość którą będzie unikalna dla końca
//stosu, tzn żaden inny element na stosie nie będzie mógł jej osiągnąć)
end;
end;