/*
 * Heap de máximo.
 */

typedef struct heap {
  int *h;     /* Vetor de inteiros */
  int n;      /* Número de elementos no heap */
  int max_n;  /* Número máximo de elementos */
} Heap;


void cria(Heap *heap, int max_n);

void destroi(Heap *heap);

/* Retorna 0 caso o heap já esteja cheio. */
int insere(Heap *heap, int v);

/* Retorna 0 caso o heap esteja vazio. */
int remove_max(Heap *heap, int *m);

int verifica(Heap* heap);