Pairing heap
include/structures/pairing_heap.h View source View on GitHubStructs
Section titled “Structs”pairing_node
Section titled “pairing_node”struct pairing_node {
struct pairing_node *parent;
struct pairing_node *child;
struct pairing_node *sibling;
}; pairing_heap
Section titled “pairing_heap”struct pairing_heap {
struct pairing_node *root;
pairing_cmp_t cmp;
struct spinlock lock;
}; Type Aliases
Section titled “Type Aliases”pairing_cmp_t
Section titled “pairing_cmp_t”typedef int32_t (*pairing_cmp_t)(struct pairing_node * *, struct pairing_node * *); Functions
Section titled “Functions”pairing_heap_init
Section titled “pairing_heap_init”void pairing_heap_init(struct pairing_heap *h, pairing_cmp_t cmp); pairing_heap_insert
Section titled “pairing_heap_insert”void pairing_heap_insert(struct pairing_heap *h, struct pairing_node *node); pairing_heap_peek
Section titled “pairing_heap_peek”struct pairing_node * pairing_heap_peek(struct pairing_heap *h); pairing_heap_pop
Section titled “pairing_heap_pop”struct pairing_node * pairing_heap_pop(struct pairing_heap *h); pairing_heap_decrease
Section titled “pairing_heap_decrease”void pairing_heap_decrease(struct pairing_heap *h, struct pairing_node *node); pairing_node_init
Section titled “pairing_node_init”void pairing_node_init(struct pairing_node *pn);