2 #ifndef _GFT_PQUEUE16_H_
3 #define _GFT_PQUEUE16_H_
47 return (Q->nadded==0);
50 return (Q->nadded==(Q->L).nelems);
ushort maxvalue
Maximum value of a node in queue.
Definition: gft_pqueue16.h:27
struct gft::PQueue16::_priorityqueue PQueue16
Priority queue by Dial implemented as proposed by A.X. Falcao with circular and growing features...
struct gft::PQueue16::_pqcircularqueue PQCircularQueue
char color
WHITE=0, GRAY=1, BLACK=2.
Definition: gft_pqueue16.h:13
int nadded
Number of elements added.
Definition: gft_pqueue16.h:38
void RemoveElem(PQueue16 *Q, int elem)
Definition: gft_pqueue16.cpp:130
PQCircularQueue C
Definition: gft_pqueue16.h:36
void InsertElem(PQueue16 **Q, int elem)
Definition: gft_pqueue16.cpp:94
int next
Next node.
Definition: gft_pqueue16.h:11
int FastRemoveMaxFIFO(PQueue16 *Q)
Definition: gft_pqueue16.cpp:414
PQueue16 * Create(int nbuckets, int nelems, ushort *value)
Definition: gft_pqueue16.cpp:8
void UpdateElem(PQueue16 **Q, int elem, ushort newvalue)
Definition: gft_pqueue16.cpp:163
int * last
List of the last elements of each doubly-linked list.
Definition: gft_pqueue16.h:24
bool IsFull(PQueue16 *Q)
Definition: gft_pqueue16.h:49
int RemoveMaxFIFO(PQueue16 *Q)
Definition: gft_pqueue16.cpp:285
struct gft::PQueue16::_pqnode PQNode
PQueue16 * Grow(PQueue16 **Q, int nbuckets)
Definition: gft_pqueue16.cpp:49
PQNode * elem
All possible doubly-linked lists of the circular queue.
Definition: gft_pqueue16.h:17
int nelems
Total number of elements.
Definition: gft_pqueue16.h:18
int nbuckets
Number of buckets in the circular queue.
Definition: gft_pqueue16.h:25
void FastInsertElem(PQueue16 *Q, int elem)
Definition: gft_pqueue16.cpp:302
Definition: gft_pqueue16.h:16
Header file for common definitions and function prototypes.
struct gft::PQueue16::_pqdoublylinkedlists PQDoublyLinkedLists
int RemoveMinFIFO(PQueue16 *Q)
Definition: gft_pqueue16.cpp:269
bool IsEmpty(PQueue16 *Q)
Definition: gft_pqueue16.h:46
int FastRemoveMaxLIFO(PQueue16 *Q)
Definition: gft_pqueue16.cpp:421
PQDoublyLinkedLists L
Definition: gft_pqueue16.h:37
Priority queue by Dial implemented as proposed by A.X. Falcao with circular and growing features...
Definition: gft_pqueue16.h:35
ushort minvalue
Minimum value of a node in queue.
Definition: gft_pqueue16.h:26
void Reset(PQueue16 *Q)
Definition: gft_pqueue16.cpp:77
void FastRemoveElem(PQueue16 *Q, int elem)
Definition: gft_pqueue16.cpp:324
int FastRemoveMinLIFO(PQueue16 *Q)
Definition: gft_pqueue16.cpp:407
Definition: gft_pqueue16.h:22
ushort * value
The value of the nodes in the graph.
Definition: gft_pqueue16.h:19
int prev
Previous node.
Definition: gft_pqueue16.h:12
int FastRemoveMinFIFO(PQueue16 *Q)
Definition: gft_pqueue16.cpp:399
unsigned short ushort
Definition: gft_common.h:38
int RemoveMinLIFO(PQueue16 *Q)
Definition: gft_pqueue16.cpp:277
int RemoveMaxLIFO(PQueue16 *Q)
Definition: gft_pqueue16.cpp:293
Definition: gft_pqueue16.h:10
int * first
List of the first elements of each doubly-linked list.
Definition: gft_pqueue16.h:23
void FastUpdateElem(PQueue16 *Q, int elem, ushort newvalue)
Definition: gft_pqueue16.cpp:350
void Destroy(PQueue16 **Q)
Definition: gft_pqueue16.cpp:36