|
RNAlib-2.4.17
|
|
Implementation of an abstract heap data structure. More...
Go to the source code of this file.
Typedefs | |
| typedef struct vrna_heap_s * | vrna_heap_t |
| An abstract heap data structure. More... | |
| typedef int() | vrna_callback_heap_cmp(const void *a, const void *b, void *data) |
| Heap compare function prototype. More... | |
| typedef size_t() | vrna_callback_heap_get_pos(const void *a, void *data) |
| Retrieve the position of a particular heap entry within the heap. More... | |
| typedef void() | vrna_callback_heap_set_pos(const void *a, size_t pos, void *data) |
| Store the position of a particular heap entry within the heap. More... | |
Functions | |
| vrna_heap_t | vrna_heap_init (size_t n, vrna_callback_heap_cmp *cmp, vrna_callback_heap_get_pos *get_entry_pos, vrna_callback_heap_set_pos *set_entry_pos, void *data) |
| Initialize a heap data structure. More... | |
| void | vrna_heap_free (vrna_heap_t h) |
| Free memory occupied by a heap data structure. More... | |
| size_t | vrna_heap_size (struct vrna_heap_s *h) |
| Get the size of a heap data structure, i.e. the number of stored elements. More... | |
| void | vrna_heap_insert (vrna_heap_t h, void *v) |
| Insert an element into the heap. More... | |
| void * | vrna_heap_pop (vrna_heap_t h) |
| Pop (remove and return) the object at the root of the heap. More... | |
| const void * | vrna_heap_top (vrna_heap_t h) |
| Get the object at the root of the heap. More... | |
| void * | vrna_heap_remove (vrna_heap_t h, const void *v) |
| Remove an arbitrary element within the heap. More... | |
| void * | vrna_heap_update (vrna_heap_t h, void *v) |
| Update an arbitrary element within the heap. More... | |
Implementation of an abstract heap data structure.