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