libdacav 0.9.0
|
Heap implementation. More...
Go to the source code of this file.
Typedefs | |
typedef struct dheap | dheap_t |
Opaque type for a heap. | |
Enumerations | |
enum | dheap_result_t { DHEAP_SUCCESS = 0, DHEAP_FULL = 1, DHEAP_EMPTY = 2 } |
Return values for heap insertion and extraction functions. More... | |
Functions | |
dheap_t * | dheap_new (size_t size, dcmp_cb_t cmp) |
Constructor for a heap. | |
void | dheap_free (dheap_t *h, dfree_cb_t fc) |
Destructor for a heap. | |
dheap_result_t | dheap_insert (dheap_t *h, void *val) |
Insert procedure. | |
dheap_result_t | dheap_extract (dheap_t *h, void **val) |
Extract the greatest element, than run heapify_down over the values array. | |
void | dheap_heapify_up (void *values[], size_t used, dcmp_cb_t cmp) |
Correct the heapify structure from below. | |
void | dheap_heapify_down (void *values[], size_t used, dcmp_cb_t cmp) |
Move the last element on top, and correct the heapify structure from above. |
Heap implementation.