// Interface to the priority queue ADT #ifndef PQ_H #define PQ_H typedef struct pq *Pq; /** * Creates a new empty priority queue */ Pq PqNew(void); /** * Frees all memory allocated to the priority queue */ void PqFree(Pq pq); /** * Inserts an item with the given priority into the priority queue */ void PqInsert(Pq pq, int item, int priority); /** * Deletes the item with the highest priority from the priority queue * and returns it */ int PqDelete(Pq pq); /** * Returns the item with the highest priority from the priority queue */ int PqPeek(Pq pq); #endif