IsEmpty: return true if a priority queue is empty.

ExtractMin: return the element with the minimum cost from a priority queue

Insert: insert an element into a priority queue

Update: update an existing element in a priority queue

Example

#include “PriorityQueue.h

CTypedPtrHeap<Node> pq;  //initialize the priority queue of integers pq to be empty;

pq.IsEmpty(); //return true;

Node *a,*b,*c;

pq.Insert(a);  // pq=(a)

pq.Insert(b);  // pq=(a,b)

c=pq.ExtractMin();  // assume b’s key is smaller a’s key. pq=(a); c=b;

//modify c’s key

pq.Update(c);      // update pq to reflect b is modifed; pq=(a,b);

pq.IsEmpty(); //return false;