Logo ROOT  
Reference Guide
No Matches
priorityq-heap.h File Reference
This graph shows which files directly or indirectly include this file:


struct  PQhandleElem
struct  PQnode
struct  PriorityQHeap


#define __gl_pqHeapIsEmpty(pq)   ((pq)->size == 0)
#define __gl_pqHeapMinimum(pq)   ((pq)->handles[(pq)->nodes[1].handle].key)
#define pqDelete(pq, handle)   __gl_pqHeapDelete(pq,handle)
#define pqDeletePriorityQ(pq)   __gl_pqHeapDeletePriorityQ(pq)
#define pqExtractMin(pq)   __gl_pqHeapExtractMin(pq)
#define PQhandle   PQHeapHandle
#define pqInit(pq)   __gl_pqHeapInit(pq)
#define pqInsert(pq, key)   __gl_pqHeapInsert(pq,key)
#define pqIsEmpty(pq)   __gl_pqHeapIsEmpty(pq)
#define PQkey   PQHeapKey
#define pqMinimum(pq)   __gl_pqHeapMinimum(pq)
#define pqNewPriorityQ(leq)   __gl_pqHeapNewPriorityQ(leq)
#define PriorityQ   PriorityQHeap


typedef long PQHeapHandle
typedef void * PQHeapKey
typedef struct PriorityQHeap PriorityQHeap


void __gl_pqHeapDelete (PriorityQHeap *pq, PQHeapHandle handle)
void __gl_pqHeapDeletePriorityQ (PriorityQHeap *pq)
PQHeapKey __gl_pqHeapExtractMin (PriorityQHeap *pq)
void __gl_pqHeapInit (PriorityQHeap *pq)
PQHeapHandle __gl_pqHeapInsert (PriorityQHeap *pq, PQHeapKey key)
PriorityQHeap__gl_pqHeapNewPriorityQ (int(*leq)(PQHeapKey key1, PQHeapKey key2))

Macro Definition Documentation

◆ __gl_pqHeapIsEmpty

#define __gl_pqHeapIsEmpty (   pq)    ((pq)->size == 0)

Definition at line 105 of file priorityq-heap.h.

◆ __gl_pqHeapMinimum

#define __gl_pqHeapMinimum (   pq)    ((pq)->handles[(pq)->nodes[1].handle].key)

Definition at line 104 of file priorityq-heap.h.

◆ pqDelete

#define pqDelete (   pq,
)    __gl_pqHeapDelete(pq,handle)

Definition at line 64 of file priorityq-heap.h.

◆ pqDeletePriorityQ

#define pqDeletePriorityQ (   pq)    __gl_pqHeapDeletePriorityQ(pq)

Definition at line 45 of file priorityq-heap.h.

◆ pqExtractMin

#define pqExtractMin (   pq)    __gl_pqHeapExtractMin(pq)

Definition at line 63 of file priorityq-heap.h.

◆ PQhandle

#define PQhandle   PQHeapHandle

Definition at line 41 of file priorityq-heap.h.

◆ pqInit

#define pqInit (   pq)    __gl_pqHeapInit(pq)

Definition at line 60 of file priorityq-heap.h.

◆ pqInsert

#define pqInsert (   pq,
)    __gl_pqHeapInsert(pq,key)

Definition at line 61 of file priorityq-heap.h.

◆ pqIsEmpty

#define pqIsEmpty (   pq)    __gl_pqHeapIsEmpty(pq)

Definition at line 65 of file priorityq-heap.h.

◆ PQkey

#define PQkey   PQHeapKey

Definition at line 40 of file priorityq-heap.h.

◆ pqMinimum

#define pqMinimum (   pq)    __gl_pqHeapMinimum(pq)

Definition at line 62 of file priorityq-heap.h.

◆ pqNewPriorityQ

#define pqNewPriorityQ (   leq)    __gl_pqHeapNewPriorityQ(leq)

Definition at line 44 of file priorityq-heap.h.

◆ PriorityQ

#define PriorityQ   PriorityQHeap

Definition at line 42 of file priorityq-heap.h.

Typedef Documentation

◆ PQHeapHandle

typedef long PQHeapHandle

Definition at line 80 of file priorityq-heap.h.

◆ PQHeapKey

typedef void* PQHeapKey

Definition at line 79 of file priorityq-heap.h.

◆ PriorityQHeap

typedef struct PriorityQHeap PriorityQHeap

Definition at line 81 of file priorityq-heap.h.

Function Documentation

◆ __gl_pqHeapDelete()

void __gl_pqHeapDelete ( PriorityQHeap pq,
PQHeapHandle  handle 

Definition at line 234 of file priorityq-heap.c.

◆ __gl_pqHeapDeletePriorityQ()

void __gl_pqHeapDeletePriorityQ ( PriorityQHeap pq)

Definition at line 88 of file priorityq-heap.c.

◆ __gl_pqHeapExtractMin()

PQHeapKey __gl_pqHeapExtractMin ( PriorityQHeap pq)

Definition at line 211 of file priorityq-heap.c.

◆ __gl_pqHeapInit()

void __gl_pqHeapInit ( PriorityQHeap pq)

Definition at line 149 of file priorityq-heap.c.

◆ __gl_pqHeapInsert()

PQHeapHandle __gl_pqHeapInsert ( PriorityQHeap pq,
PQHeapKey  key 

Definition at line 163 of file priorityq-heap.c.

◆ __gl_pqHeapNewPriorityQ()

PriorityQHeap * __gl_pqHeapNewPriorityQ ( int(*)(PQHeapKey key1, PQHeapKey key2)  leq)

Definition at line 58 of file priorityq-heap.c.