segunda-feira, 22 de outubro de 2012

pilha

pilha é um tipo de lista onde todas as operaçoes de inserçao e remoçao sao feitas na mesma extremidade (topo).

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:=px
 end;
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