Skip to content

Pairing heap

struct pairing_node {
struct pairing_node *parent;
struct pairing_node *child;
struct pairing_node *sibling;
};

struct pairing_node referenced types:

struct pairing_heap {
struct pairing_node *root;
pairing_cmp_t cmp;
struct spinlock lock;
};

struct pairing_heap referenced types:

typedef int32_t (*pairing_cmp_t)(struct pairing_node *, struct pairing_node *);

type alias pairing_cmp_t referenced types:

void pairing_heap_init(struct pairing_heap *h, pairing_cmp_t cmp);

pairing_heap_init referenced types:

void pairing_heap_insert(struct pairing_heap *h, struct pairing_node *node);

pairing_heap_insert referenced types:

struct pairing_node * pairing_heap_peek(struct pairing_heap *h);

pairing_heap_peek referenced types:

struct pairing_node * pairing_heap_pop(struct pairing_heap *h);

pairing_heap_pop referenced types:

void pairing_heap_decrease(struct pairing_heap *h, struct pairing_node *node);

pairing_heap_decrease referenced types:

void pairing_node_init(struct pairing_node *pn);

pairing_node_init referenced types: