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 | |
PQueue32 * | Create (int nbuckets, int nelems, int *value) |
void | Destroy (PQueue32 **Q) |
PQueue32 * | Grow (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 struct gft::PQueue32::_pqcircularqueue gft::PQueue32::PQCircularQueue |
typedef struct gft::PQueue32::_pqnode gft::PQueue32::PQNode |
typedef struct gft::PQueue32::_priorityqueue gft::PQueue32::PQueue32 |
Priority queue by Dial implemented as proposed by A.X. Falcao with circular and growing features.
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.
|
inline |
|
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.