priority_queue.h¶
A simple priority queue.
-
PRIORITY_QUEUE_NODE_INIT¶ Static initializer for priority_queue_node_t.
1
{ NULL, 0, 0 }
-
PRIORITY_QUEUE_INIT¶ Static initializer for priority_queue_t.
1
{ NULL }
-
struct priority_queue_node
priority_queue_node_t¶ data type for priority queue nodes
-
void
priority_queue_node_init(priority_queue.h::priority_queue_node_t* priority_queue_node)¶ Initialize a priority queue node object.
For initialization of variables use PRIORITY_QUEUE_NODE_INIT instead. Only use this function for dynamically allocated priority queue nodes.
Parameters
priority_queue_node: pre-allocated priority_queue_node_t object, must not be NULL.
-
void
priority_queue_init(priority_queue_t * priority_queue)¶ Initialize a priority queue object.
For initialization of variables use PRIORITY_QUEUE_INIT instead. Only use this function for dynamically allocated priority queues.
Parameters
priority_queue: pre-allocated priority_queue_t object, must not be NULL.
-
priority_queue.h::priority_queue_node_t*priority_queue_remove_head(priority_queue_t * root)¶ remove the priority queue’s head
Parameters
root: the queue’s root Return values
- the old head
-
void
priority_queue_add(priority_queue_t * root,priority_queue.h::priority_queue_node_t* new_obj)¶ insert
new_objintorootbased on its priorityThe new object will be appended after objects with the same priority.
Parameters
root: the queue’s root new_obj: the object to prepend
-
void
priority_queue_remove(priority_queue_t * root,priority_queue.h::priority_queue_node_t* node)¶ remove
nodefromrootParameters
root: the priority queue’s root node: the node to remove
-
void
priority_queue_print(priority_queue_t * root)¶ print the data and priority of every node in the given priority queue
Note
requires
nhdp.h::ENABLE_DEBUGto be set to 1 for this file
-
void
priority_queue_print_node(priority_queue_t * root)¶ print the data, priority, and successor of a given node
Note
requires
nhdp.h::ENABLE_DEBUGto be set to 1 for this file
-
struct
priority_queue_node¶ data type for priority queue nodes
-
struct priority_queue_node *
next¶ next queue node
-
uint32_t
priority¶ queue node priority
-
unsigned int
data¶ queue node data
-
struct priority_queue_node *
-
struct
priority_queue_t¶ data type for priority queues
-
priority_queue.h::priority_queue_node_t*first¶ first queue node
-