12 #ifndef PRIORITY_QUEUE_H 13 #define PRIORITY_QUEUE_H 33 template<
class T,
class Compare >
42 virtual void insert (
const T&);
44 virtual const T&
top ()
const;
45 virtual bool remove (T&);
46 virtual size_t size ();
66 template <
class T,
class Compare>
76 setHeapImpl (maxsz_, m_comp);
79 template <
class T,
class Compare>
83 : m_comp (x_), m_impl (0)
87 setHeapImpl (maxsz_, m_comp);
90 template <
class T,
class Compare>
105 template <
class T,
class Compare>
113 template <
class T,
class Compare>
void 121 template <
class T,
class Compare> T
126 return m_impl->
pop ();
129 template <
class T,
class Compare>
134 return m_impl->
top ();
137 template <
class T,
class Compare>
142 return m_impl->
remove (t_);
145 template <
class T,
class Compare>
150 return m_impl->
size ();
153 template <
class T,
class Compare>
161 template <
class T,
class Compare>
166 return (*m_impl)[idx];
virtual void insert(const T &)
PriorityQueue & operator=(const PriorityQueue &)
virtual void setHeapImpl(size_t, const Compare &)
virtual T & operator[](int)
PriorityQueue_Impl< T, Compare > * m_impl
const PriorityQueue_Impl< T, Compare > * getPriorityQueueImpl() const
A collection of assert function wrappers.
Class PriorityQueue_Impl.
Heap-based implementation of PriorityQueue algorithm based on Robert Sedgewick's "Algorithms in C++"...
Interface class that defines Implementor of the Bridge pattern.
virtual const T & top() const
PriorityQueue(size_t max_=20)