|
UFO: Alien Invasion
|
Implementation of a priority queue by using a binary heap. More...

Go to the source code of this file.
Macros | |
| #define | PQ_PARENT_INDEX(i) |
| #define | PQ_FIRST_ENTRY (1) |
| #define | PQ_LEFT_CHILD_INDEX(i) |
| #define | PQ_RIGHT_CHILD_INDEX(i) |
| #define | PGetRating(elem) |
Functions | |
| void | PQueueInitialise (priorityQueue_t *pq, uint32_t maxElements) |
| initialise the priority queue with a maximum size of maxelements. | |
| void | PQueuePush (priorityQueue_t *pq, const pos4_t item, priorityQueueRating_t r) |
| void | PQueueFree (priorityQueue_t *pq) |
| free up memory for pqueue | |
| void | PQueuePop (priorityQueue_t *pq, pos4_t item) |
| remove the first node from the pqueue and provide a pointer to it | |
Implementation of a priority queue by using a binary heap.
Definition in file pqueue.cpp.
| #define PGetRating | ( | elem | ) |
Definition at line 30 of file pqueue.cpp.
| #define PQ_FIRST_ENTRY (1) |
Definition at line 25 of file pqueue.cpp.
Referenced by PQueuePop(), and PQueuePush().
| #define PQ_LEFT_CHILD_INDEX | ( | i | ) |
| #define PQ_PARENT_INDEX | ( | i | ) |
| #define PQ_RIGHT_CHILD_INDEX | ( | i | ) |
Definition at line 29 of file pqueue.cpp.
| void PQueueFree | ( | priorityQueue_t * | pq | ) |
free up memory for pqueue
Definition at line 83 of file pqueue.cpp.
References priorityQueue_t::elements, and Mem_Free.
Referenced by Grid_CalcPathing(), and Grid_FindPath().
| void PQueueInitialise | ( | priorityQueue_t * | pq, |
| uint32_t | maxElements ) |
initialise the priority queue with a maximum size of maxelements.
Definition at line 36 of file pqueue.cpp.
References priorityQueue_t::currentSize, priorityQueue_t::elements, priorityQueue_t::maxSize, Mem_AllocTypeN, and Sys_Error().
Referenced by Grid_CalcPathing(), and Grid_FindPath().
| void PQueuePop | ( | priorityQueue_t * | pq, |
| pos4_t | item ) |
remove the first node from the pqueue and provide a pointer to it
Definition at line 91 of file pqueue.cpp.
References priorityQueue_t::currentSize, priorityQueue_t::elements, i, priorityQueueElement_t::item, PQ_FIRST_ENTRY, PQ_LEFT_CHILD_INDEX, PQueueIsEmpty, and priorityQueueElement_t::rating.
Referenced by Grid_CalcPathing(), and Grid_FindPath().
| void PQueuePush | ( | priorityQueue_t * | pq, |
| const pos4_t | item, | ||
| priorityQueueRating_t | r ) |
Definition at line 47 of file pqueue.cpp.
References priorityQueue_t::currentSize, priorityQueue_t::elements, i, priorityQueueElement_t::item, priorityQueue_t::maxSize, Mem_ReAlloc, PQ_FIRST_ENTRY, PQ_PARENT_INDEX, and priorityQueueElement_t::rating.
Referenced by Grid_CalcPathing(), and Grid_FindPath().