1 #ifndef _GFT_PQUEUE32_H_
2 #define _GFT_PQUEUE32_H_
46 return (Q->nadded==0);
49 return (Q->nadded==(Q->L).nelems);
int next
Next node.
Definition: gft_pqueue32.h:10
Priority queue by Dial implemented as proposed by A.X. Falcao with circular and growing features...
Definition: gft_pqueue32.h:34
int nbuckets
Number of buckets in the circular queue.
Definition: gft_pqueue32.h:24
int FastRemoveMaxLIFO(PQueue32 *Q)
Definition: gft_pqueue32.cpp:442
void FastInsertElem(PQueue32 *Q, int elem)
Definition: gft_pqueue32.cpp:300
void Reset(PQueue32 *Q)
Definition: gft_pqueue32.cpp:77
bool IsEmpty(PQueue32 *Q)
Definition: gft_pqueue32.h:45
struct gft::PQueue32::_priorityqueue PQueue32
Priority queue by Dial implemented as proposed by A.X. Falcao with circular and growing features...
Definition: gft_pqueue32.h:9
int nelems
Total number of elements.
Definition: gft_pqueue32.h:17
PQueue32 * Create(int nbuckets, int nelems, int *value)
Definition: gft_pqueue32.cpp:8
int RemoveMinFIFO(PQueue32 *Q)
Definition: gft_pqueue32.cpp:268
Definition: gft_pqueue32.h:21
int prev
Previous node.
Definition: gft_pqueue32.h:11
PQueue32 * Grow(PQueue32 **Q, int nbuckets)
Definition: gft_pqueue32.cpp:49
PQNode * elem
All possible doubly-linked lists of the circular queue.
Definition: gft_pqueue32.h:16
int maxvalue
Maximum value of a node in queue.
Definition: gft_pqueue32.h:26
void InsertElem(PQueue32 **Q, int elem)
Definition: gft_pqueue32.cpp:94
Header file for common definitions and function prototypes.
int * last
List of the last elements of each doubly-linked list.
Definition: gft_pqueue32.h:23
int RemoveMaxLIFO(PQueue32 *Q)
Definition: gft_pqueue32.cpp:292
int FastRemoveMaxFIFO(PQueue32 *Q)
Definition: gft_pqueue32.cpp:435
void FastUpdateElem(PQueue32 *Q, int elem, int newvalue)
Definition: gft_pqueue32.cpp:371
void FastRemoveElem(PQueue32 *Q, int elem)
Definition: gft_pqueue32.cpp:346
int RemoveMaxFIFO(PQueue32 *Q)
Definition: gft_pqueue32.cpp:284
PQDoublyLinkedLists L
Definition: gft_pqueue32.h:36
Definition: gft_pqueue32.h:15
void UpdateElem(PQueue32 **Q, int elem, int newvalue)
Definition: gft_pqueue32.cpp:162
int minvalue
Minimum value of a node in queue.
Definition: gft_pqueue32.h:25
int nadded
Number of elements added.
Definition: gft_pqueue32.h:37
int FastRemoveMinLIFO(PQueue32 *Q)
Definition: gft_pqueue32.cpp:428
void FastInsertElemAsFirst(PQueue32 *Q, int elem)
Definition: gft_pqueue32.cpp:322
PQCircularQueue C
Definition: gft_pqueue32.h:35
char color
WHITE=0, GRAY=1, BLACK=2.
Definition: gft_pqueue32.h:12
void RemoveElem(PQueue32 *Q, int elem)
Definition: gft_pqueue32.cpp:129
struct gft::PQueue32::_pqnode PQNode
void Destroy(PQueue32 **Q)
Definition: gft_pqueue32.cpp:36
struct gft::PQueue32::_pqdoublylinkedlists PQDoublyLinkedLists
int FastRemoveMinFIFO(PQueue32 *Q)
Definition: gft_pqueue32.cpp:421
int RemoveMinLIFO(PQueue32 *Q)
Definition: gft_pqueue32.cpp:276
bool IsFull(PQueue32 *Q)
Definition: gft_pqueue32.h:48
int * first
List of the first elements of each doubly-linked list.
Definition: gft_pqueue32.h:22
struct gft::PQueue32::_pqcircularqueue PQCircularQueue
int * value
The value of the nodes in the graph.
Definition: gft_pqueue32.h:18