struct heap_struct
Referida, por meio de int size
: tamanho total do heap (do vetor de conteúdo do heap)int taken
: tamanho já ocupado no heap. M.q. número de elementos.int type
: se é um maxheap (1) ou minheap (0).int *content
: vetor que armazena o conteúdo do heap.
typedef
, como heap
, armazena a estrutura do heap. Possui como valores:
size
, taken
e content
são frequentemente atualizados pelas funções do arquivo header.
hCreate
(int type, int initialSize)
Retorna um novo heap de tamanho inicial hInsert
(heap *aHeap, int value)
Insere um valor no heap. Caso necessário, também redimensiona o tamanho do heap.content dinamicamente, com hPop
(heap *aHeap)
Remove a raiz do heap e retorna esse elemento.
printHeap
(heap aHeap)
Imprime o heap em camadas, como uma árvore.
printHeapArray
(heap aHeap)
Imprime o heap normalmente (como um vetor).
heapHeight
(heap aHeap)
Retorna a altura do heap, como em uma árvore.
hExists
(heap aHeap, int value)
Retorna 1 caso um elemento exista no heap. Caso contrário, retorna 0.
initialSize
. Um heap pode ser criado com heap nome = hCreate(tipoDoHeap, tamanho);
realloc
, dobrando seu espaço.