DEFINITION MODULE Monticulo;
FROM TadItem IMPORT ITEM;

TYPE MONTICULO;

PROCEDURE Crear():MONTICULO;
PROCEDURE Destruir(VAR m: MONTICULO);

PROCEDURE EsVacio(m: MONTICULO): BOOLEAN;
(* pre: NOT EsVacio(m) *)
PROCEDURE Elemento( m: MONTICULO): ITEM;

PROCEDURE Insertar (VAR m: MONTICULO; x: ITEM);
(* pre: NOT EsVacio(m) *)
PROCEDURE Eliminar (VAR m: MONTICULO);

PROCEDURE Copiar(VAR m1: MONTICULO; m2: MONTICULO);

TYPE TIPO_ERROR = <<a definir>>;

PROCEDURE Error(): ERROR;

END Monticulo.

