O primeiro a entrar é o ultimo a sair e o ultima a entrar é o primeiro a sair (LIFO- last-in-first-out).
trata-se de uma estrutura dinamica (pode aumentar ou diminuir durante a existencia ).
Exemplo:
Program pilha ;
type pessoa = record
nome:string ;
idade:integer;
prox:^pessoa ;
end;
var p1,px:^pessoa;
i,op:integer;
procedure introduza;
begin
new(px);writeln('introduza o nome');
readln(px^.nome);
writeln('introduza a idade');
readln(px^.idade);
px^.prox:=p1;
p1:=pxend;
procedure mostrar;
Begin
while (px<>nil) do
begin
writeln('nome''',px^.nome);
writeln('idade''',px^.idade);
px:=px^.prox; end;
End;
procedure apagar;
begin
px:=p1;
p1:=px^.prox;
dispose(px);
end;
begin
p1:=nil;repeat;
writeln('1-para introduzir novo dado');
writeln('2-para apagar');
writeln('3-para mostra');
writeln('0-para sair');
readln(op);
case op of
1:introduza;
2:apagar;
3:mostrar;
0:writeln('fechar');
end;
until(op=0);
end.
escolhi esta estrutura porque foi a primeira das estruturas dinamicas que estudamos e foi a que compreendi melhor .

Sem comentários:
Enviar um comentário