Classes | Typedefs | Functions
gft::PQueue32 Namespace Reference

Classes

struct  _pqnode
 
struct  _pqdoublylinkedlists
 
struct  _pqcircularqueue
 
struct  _priorityqueue
 Priority queue by Dial implemented as proposed by A.X. Falcao with circular and growing features. More...
 

Typedefs

typedef struct
gft::PQueue32::_pqnode 
PQNode
 
typedef struct
gft::PQueue32::_pqdoublylinkedlists 
PQDoublyLinkedLists
 
typedef struct
gft::PQueue32::_pqcircularqueue 
PQCircularQueue
 
typedef struct
gft::PQueue32::_priorityqueue 
PQueue32
 Priority queue by Dial implemented as proposed by A.X. Falcao with circular and growing features. More...
 

Functions

PQueue32Create (int nbuckets, int nelems, int *value)
 
void Destroy (PQueue32 **Q)
 
PQueue32Grow (PQueue32 **Q, int nbuckets)
 
void Reset (PQueue32 *Q)
 
void InsertElem (PQueue32 **Q, int elem)
 
void RemoveElem (PQueue32 *Q, int elem)
 
void UpdateElem (PQueue32 **Q, int elem, int newvalue)
 
int RemoveMinFIFO (PQueue32 *Q)
 
int RemoveMinLIFO (PQueue32 *Q)
 
int RemoveMaxFIFO (PQueue32 *Q)
 
int RemoveMaxLIFO (PQueue32 *Q)
 
void FastInsertElem (PQueue32 *Q, int elem)
 
void FastInsertElemAsFirst (PQueue32 *Q, int elem)
 
void FastRemoveElem (PQueue32 *Q, int elem)
 
void FastUpdateElem (PQueue32 *Q, int elem, int newvalue)
 
int FastRemoveMinFIFO (PQueue32 *Q)
 
int FastRemoveMinLIFO (PQueue32 *Q)
 
int FastRemoveMaxFIFO (PQueue32 *Q)
 
int FastRemoveMaxLIFO (PQueue32 *Q)
 
bool IsEmpty (PQueue32 *Q)
 
bool IsFull (PQueue32 *Q)
 

Typedef Documentation

Priority queue by Dial implemented as proposed by A.X. Falcao with circular and growing features.

Function Documentation

PQueue32 * gft::PQueue32::Create ( int  nbuckets,
int  nelems,
int *  value 
)
void gft::PQueue32::Destroy ( PQueue32 **  Q)
void gft::PQueue32::FastInsertElem ( PQueue32 *  Q,
int  elem 
)

Faster version to be used when values are in fixed range 0, nbuckets-1.

void gft::PQueue32::FastInsertElemAsFirst ( PQueue32 *  Q,
int  elem 
)
void gft::PQueue32::FastRemoveElem ( PQueue32 *  Q,
int  elem 
)

Faster version to be used when values are in fixed range 0, nbuckets-1.

int gft::PQueue32::FastRemoveMaxFIFO ( PQueue32 *  Q)

Faster version to be used when values are in fixed range 0, nbuckets-1.

int gft::PQueue32::FastRemoveMaxLIFO ( PQueue32 *  Q)

Faster version to be used when values are in fixed range 0, nbuckets-1.

int gft::PQueue32::FastRemoveMinFIFO ( PQueue32 *  Q)

Faster version to be used when values are in fixed range 0, nbuckets-1.

int gft::PQueue32::FastRemoveMinLIFO ( PQueue32 *  Q)

Faster version to be used when values are in fixed range 0, nbuckets-1.

void gft::PQueue32::FastUpdateElem ( PQueue32 *  Q,
int  elem,
int  newvalue 
)

Faster version to be used when values are in fixed range 0, nbuckets-1.

PQueue32 * gft::PQueue32::Grow ( PQueue32 **  Q,
int  nbuckets 
)
void gft::PQueue32::InsertElem ( PQueue32 **  Q,
int  elem 
)

Generic version with circular and growing features.

bool gft::PQueue32::IsEmpty ( PQueue32 *  Q)
inline
bool gft::PQueue32::IsFull ( PQueue32 *  Q)
inline
void gft::PQueue32::RemoveElem ( PQueue32 *  Q,
int  elem 
)

Generic version with circular and growing features.

int gft::PQueue32::RemoveMaxFIFO ( PQueue32 *  Q)

Generic version with circular and growing features.

int gft::PQueue32::RemoveMaxLIFO ( PQueue32 *  Q)

Generic version with circular and growing features.

int gft::PQueue32::RemoveMinFIFO ( PQueue32 *  Q)

Generic version with circular and growing features.

int gft::PQueue32::RemoveMinLIFO ( PQueue32 *  Q)

Generic version with circular and growing features.

void gft::PQueue32::Reset ( PQueue32 *  Q)
void gft::PQueue32::UpdateElem ( PQueue32 **  Q,
int  elem,
int  newvalue 
)

Generic version with circular and growing features.