#include #include using namespace std; struct compare { bool operator()(const int& l, const int& r) { return l > r; } }; int main() { priority_queue < int , vector, compare > pq; /* Εδώ ΔΕΝ μπορώ να καταλάβω γιατί παίρνει 3 ορίσματα; Άντε οκ να έπαιρνε ένα vector από ακέραιους (2ο όρισμα).. και μετά στο άλλο όρισμα είναι η συνάρτηση με την οποία θα κάνει την σύγκριση ( 3ο όρισμα ), στην αρχή όμως γιατί παίρνει και ένα int (1ο όρισμα ) ;; Αυτό δε καταλαβαίνω... */ pq.push(3); // και μετά πάει εδώ και το παίζει πολύ cool και δίνει μονάχα ένα όρισμα.. Αυτό που αποθηκεύετε ; pq.push(5); pq.push(1); pq.push(8); while ( !pq.empty() ) { cout << pq.top() << endl; pq.pop(); } cin.get(); } Από εδώ το βρήκα : http://www.technical-recipes.com/2011/priority-queues-and-min-priority-queues-in-c/