template bool MinPriorityQueue::empty () { return DLList::empty(); } template void MinPriorityQueue::push (T t) { this->insert(DLList::begin(),t); } template typename DLList::Iterator MinPriorityQueue::find_minimum () { typename DLList::Iterator min=DLList::begin(); for (typename DLList::Iterator i=DLList::begin(); i!=DLList::end(); i++) if (*i<*min) min=i; return min; } template inline void MinPriorityQueue::pop () { this->erase(find_minimum()); } template inline T MinPriorityQueue::top () { return *find_minimum(); }