Skip to content

Uma implementação de heap em C, viável tanto para minheap como maxheap. É alocada dinamicamente e chama a função realloc quando não há mais espaço, dobrando-o.

Notifications You must be signed in to change notification settings

guirque/Heap-Em-C

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Heap Em C

Uma implementação de heap (com alocação dinâmica) na linguagem C.

Structs

  • struct heap_struct
  • Referida, por meio de typedef, como heap, armazena a estrutura do heap. Possui como valores:
    • 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.
    Vale observar que size, taken e content são frequentemente atualizados pelas funções do arquivo header.

Funções

  • hCreate (int type, int initialSize)
  • Retorna um novo heap de tamanho inicial initialSize. Um heap pode ser criado com heap nome = hCreate(tipoDoHeap, tamanho);
  • hInsert (heap *aHeap, int value)
  • Insere um valor no heap. Caso necessário, também redimensiona o tamanho do heap.content dinamicamente, com realloc, dobrando seu espaço.
  • 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.

About

Uma implementação de heap em C, viável tanto para minheap como maxheap. É alocada dinamicamente e chama a função realloc quando não há mais espaço, dobrando-o.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages