1 #ifndef fast_priority_queue_h 2 #define fast_priority_queue_h 3 4 #include <iostream> 5 #include <queue> 6 #include <cstdlib> 7 #include <list> 8 #include <algorithm> 9 #include <vector> 10 11 template <class order_by_template_type> class fast_priority_queue { 12 public: 13 fast_priority_queue(unsigned int queue_size); 14 void insert(order_by_template_type main_value, int data); 15 order_by_template_type get_min_element(); 16 void print_internal_list(); 17 void print(); 18 19 private: 20 order_by_template_type max_number; 21 order_by_template_type min_number; 22 unsigned int queue_size; 23 // We can't use list here! 24 std::vector<order_by_template_type> internal_list; 25 // std::priority_queue<int, std::list<int>, std::less<int> > class_priority_queue; 26 }; 27 28 #include "fast_priority_queue.cpp" 29 30 #endif 31