UFO: Alien Invasion
Loading...
Searching...
No Matches
pqueue.h
Go to the documentation of this file.
1
5
6/*
7Originally written by Justin-Heyes Jones
8Modified by Shlomi Fish, 2000
9Modified by Florian Festi, 2007
10
11This file is in the public domain (it's uncopyrighted).
12
13Check out Justin-Heyes Jones' A* page from which this code has
14originated:
15 http://www.geocities.com/jheyesjones/astar.html
16*/
17
18#pragma once
19
20#include "../shared/shared.h"
21
27
29
30typedef struct priorityQueueElement_s {
34
39typedef struct priorityQueue_s {
40 uint32_t maxSize;
41 uint32_t currentSize;
44
45void PQueueInitialise(priorityQueue_t* pq, uint32_t maxElements);
47
48#define PQueueIsEmpty(pq) ((pq)->currentSize == 0)
49void PQueuePush(priorityQueue_t* pq, const pos4_t item, priorityQueueRating_t rating);
50void PQueuePop(priorityQueue_t* pq, pos4_t item);
void PQueuePush(priorityQueue_t *pq, const pos4_t item, priorityQueueRating_t rating)
Definition pqueue.cpp:47
void PQueueFree(priorityQueue_t *pq)
free up memory for pqueue
Definition pqueue.cpp:83
void PQueueInitialise(priorityQueue_t *pq, uint32_t maxElements)
initialise the priority queue with a maximum size of maxelements.
Definition pqueue.cpp:36
int priorityQueueRating_t
Definition pqueue.h:28
void PQueuePop(priorityQueue_t *pq, pos4_t item)
remove the first node from the pqueue and provide a pointer to it
Definition pqueue.cpp:91
the priority queue struct the actual data is stored in priorityQueueElement_t
Definition pqueue.h:39
uint32_t maxSize
Definition pqueue.h:40
priorityQueueElement_t * elements
Definition pqueue.h:42
uint32_t currentSize
Definition pqueue.h:41
priorityQueueRating_t rating
Definition pqueue.h:32
pos_t pos4_t[4]
Definition ufotypes.h:59