Data Structures | |
| struct | cucon_priq |
Defines | |
| #define | cucon_priq_prior(q) (CU_MARG(cucon_priq_t, q)->prior) |
Functions | |
| void | cucon_priq_init (cucon_priq_t q, cu_clop(prior, cu_bool_t, void *, void *)) |
| cucon_priq_t | cucon_priq_new (cu_clop(prior, cu_bool_t, void *, void *)) |
| void | cucon_priq_init_copy (cucon_priq_t q, cucon_priq_t src) |
| void | cucon_priq_insert (cucon_priq_t q, void *key) |
| void * | cucon_priq_pop_front (cucon_priq_t q) |
| void * | cucon_priq_front (cucon_priq_t q) |
| cu_bool_t | cucon_priq_is_empty (cucon_priq_t q) |
| size_t | cucon_priq_count (cucon_priq_t q) |
| void | cucon_priq_dump (cucon_priq_t q, cu_clop(print_key_fn, void, void *key, FILE *out), FILE *out) |
This is an implementation of priority queues based on a pyramid-like array. It guarantees that the front element x fulfils prior(x, y) for all other y in the queue.
| #define cucon_priq_prior | ( | q | ) | (CU_MARG(cucon_priq_t, q)->prior) |
Return the prior-relation, as passed to cucon_priq_init.
| size_t cucon_priq_count | ( | cucon_priq_t | q | ) |
Return the number of elements in the queue.
| void cucon_priq_dump | ( | cucon_priq_t | q, | |
| cu_clop(print_key_fn, void, void *key, FILE *out) | , | |||
| FILE * | out | |||
| ) |
Debug dump.
| void* cucon_priq_front | ( | cucon_priq_t | q | ) |
The front element of the queue.
| void cucon_priq_init | ( | cucon_priq_t | q, | |
| cu_clop(prior, cu_bool_t, void *, void *) | ||||
| ) |
Construct q as a priority queue of elements with priority relation prior.
| void cucon_priq_init_copy | ( | cucon_priq_t | q, | |
| cucon_priq_t | src | |||
| ) |
Construct q as a copy of src.
| void cucon_priq_insert | ( | cucon_priq_t | q, | |
| void * | key | |||
| ) |
Enqueue key.
| cu_bool_t cucon_priq_is_empty | ( | cucon_priq_t | q | ) |
True iff the queue is empty.
| cucon_priq_t cucon_priq_new | ( | cu_clop(prior, cu_bool_t, void *, void *) | ) |
Return a priority queue with the priority relation prior.
| void* cucon_priq_pop_front | ( | cucon_priq_t | q | ) |
Pop off and return the front element of the queue.