#ifndef PRIORITYQUEUE_H #define PRIORITYQUEUE_H #include "Heap.h" template class PriorityQueue { public: PriorityQueue(); void enqueue(T element); T dequeue() throw (runtime_error); int getSize() const; private: Heap heap; }; template PriorityQueue::PriorityQueue() { } template void PriorityQueue::enqueue(T element) { heap.add(element); } template T PriorityQueue::dequeue() throw (runtime_error) { return heap.remove(); } template int PriorityQueue::getSize() const { return heap.getSize(); } #endif