#include <iostream>
#include <queue>
using namespace std;
struct compare
{
bool operator()(const int& l, const int& r)
{
return l > r;
}
};
int main()
{
priority_queue < int , vector<int>, 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/
Comments