Type tpont = ^reg_pilha; pilha = tpont; reg_pilha = record info: T; lig: tpont; End; Var p: pilha;
Obs: p aponta o topo.
1. criar (P) - criar uma pilha P vazia
procedure criar (var p: pilha); begin p := nil; end;2. inserir (x, P) - insere x no topo de P (empilha): push(x,P)
procedure push (x:T; var p: pilha); var pont: pilha; begin new(pont); pont^.info := x; pont^.lig := p; p := pont; end;3. vazia (P) - testa se P está vazia
function vazia (var p: pilha): boolean; begin vazia := (p = nil); end;4. topo (P) - acessa o elemento do topo da pilha (sem eliminar), supondo que existe pelo menos um elemento na
function top (var p: pilha): T; {supondo possível} begin top := p^.info; end;5. elimina (P) - elimina o elemento do topo de P (desempilha) se não estiver vazia: pop(P)
procedure pop(var p: pilha); begin p := p^.lig; dispose(p); end;-> Codifique a operação de destruição da pilha.