35#ifndef __priorityq_sort_h_
36#define __priorityq_sort_h_
38#include "priorityq-heap.h"
44#undef pqDeletePriorityQ
54#define PQkey PQSortKey
55#define PQhandle PQSortHandle
56#define PriorityQ PriorityQSort
58#define pqNewPriorityQ(leq) __gl_pqSortNewPriorityQ(leq)
59#define pqDeletePriorityQ(pq) __gl_pqSortDeletePriorityQ(pq)
74#define pqInit(pq) __gl_pqSortInit(pq)
75#define pqInsert(pq,key) __gl_pqSortInsert(pq,key)
76#define pqMinimum(pq) __gl_pqSortMinimum(pq)
77#define pqExtractMin(pq) __gl_pqSortExtractMin(pq)
78#define pqDelete(pq,handle) __gl_pqSortDelete(pq,handle)
79#define pqIsEmpty(pq) __gl_pqSortIsEmpty(pq)
93typedef PQHeapKey PQkey;
94typedef PQHeapHandle PQhandle;
95typedef struct PriorityQ PriorityQ;
103 int (*leq)(PQkey key1, PQkey key2);
106PriorityQ *pqNewPriorityQ(
int (*leq)(PQkey key1, PQkey key2) );
107void pqDeletePriorityQ( PriorityQ *pq );
109int pqInit( PriorityQ *pq );
110PQhandle pqInsert( PriorityQ *pq, PQkey
key );
111PQkey pqExtractMin( PriorityQ *pq );
112void pqDelete( PriorityQ *pq, PQhandle handle );
114PQkey pqMinimum( PriorityQ *pq );
115int pqIsEmpty( PriorityQ *pq );