// Interface to the priority queue ADT // !!! DO NOT MODIFY THIS FILE !!! #ifndef PQ_H #define PQ_H #include #include 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, char *it, int priority); /** * Deletes the item with the highest priority from the priority queue * and returns it */ char *PqDelete(Pq pq); /** * Returns the item with the highest priority from the priority queue */ char *PqPeek(Pq pq); /** * Returns the number of items in the priority queue */ int PqSize(Pq pq); #endif