Skip to content

Pairing heap

include/structures/pairing_heap.h View source View on GitHub
struct pairing_node (3 fields) source
§ struct pairing_node *parent
§ struct pairing_node *child
§ struct pairing_node *sibling
struct pairing_heap (3 fields) source
§ struct pairing_node *root
§ struct spinlock lock
typedef int32_t (*pairing_cmp_t)(
    struct pairing_node * *,
    struct pairing_node * *
)
source
void pairing_heap_init(struct pairing_heap *h, pairing_cmp_t cmp)
source
void pairing_heap_insert(
    struct pairing_heap *h,
    struct pairing_node *node
)
source
struct pairing_node * pairing_heap_peek(struct pairing_heap *h)
source
struct pairing_node * pairing_heap_pop(struct pairing_heap *h)
source
void pairing_heap_decrease(
    struct pairing_heap *h,
    struct pairing_node *node
)
source
void pairing_node_init(struct pairing_node *pn)
source