C Container Collection (CCC)
Loading...
Searching...
No Matches
CCC_Priority_queue_node Struct Reference

#include <private_priority_queue.h>

Collaboration diagram for CCC_Priority_queue_node:

Detailed Description

A node in the priority queue. The child is technically a left child but the direction is not important. The next and prev pointers represent sibling nodes in a circular doubly linked list in the child ring. When a node loses a merge and is sent down to be another nodes child it joins this sibling ring of nodes. The list is doubly linked and we have a parent pointer to keep operations like delete min, erase, and update fast.

Data Fields

struct CCC_Priority_queue_nodechild
 
struct CCC_Priority_queue_nodenext
 
struct CCC_Priority_queue_nodeprev
 
struct CCC_Priority_queue_nodeparent
 

Field Documentation

◆ child

struct CCC_Priority_queue_node* CCC_Priority_queue_node::child

The left child of this node.

◆ next

struct CCC_Priority_queue_node* CCC_Priority_queue_node::next

The next sibling in the sibling ring or self.

◆ parent

struct CCC_Priority_queue_node* CCC_Priority_queue_node::parent

A parent or NULL if this is the root node.

◆ prev

struct CCC_Priority_queue_node* CCC_Priority_queue_node::prev

The previous sibling in the sibling ring or self.


The documentation for this struct was generated from the following file: