{ Terreno Antonio mat.9714216 }
unit
   pila_lst;

interface

uses
   listeric;
type
   tipo_pila= tipo_lista;

   procedure crea(var P: tipo_pila);
   function push(x: tipo_elemento;var P: tipo_pila): boolean;
   function pop(var x: tipo_elemento;var P: tipo_pila): boolean;
   function piena(P: tipo_pila): boolean;
   function vuota(P: tipo_pila): boolean;
   procedure visualizza_stato(P: tipo_pila);

implementation

procedure crea(var P: tipo_pila);

begin
   crea_lista(P)
end;

function push(x: tipo_elemento;var P: tipo_pila): boolean;

begin
   inserisci_in_testa(x,P);
   push:= true
end;

function pop(var x: tipo_elemento;var P: tipo_pila): boolean;

begin
   if lista_vuota(P) then
      pop:= false
   else
      begin
         x:= P^.element;
    writeln('elemento estratto -> ',x);
    P:= P^.next;
    pop:= true
      end
end;

function piena(P: tipo_pila): boolean;

begin
   piena:= false
end;

function vuota(P: tipo_pila): boolean;

begin
   vuota:= lista_vuota(P);
end;

procedure visualizza_stato(P: tipo_pila);

begin
   stampa_lista(P);
end;

end.