#include <queue>
#include <functional>
using namespace std;
int main() {
{ // top = max
priority_queue<int> q;
q.push(1);
}
{ // top = min
priority_queue<int, vector<int>, greater<int>> q;
q.push(1);
}
{ // top = min
struct my_comp {
bool operator () ( int i, int j ) {
return i > j;
}
};
priority_queue<int, vector<int>, my_comp> q;
q.push(1);
}
{ // top = min
auto f = [&]( int i, int j ) {
return i > j;
};
priority_queue<int, vector<int>, function<bool(int, int)>> q1(f); // руками задаём тип компаратора
priority_queue<int, vector<int>, decltype(f)> q2(f); // выводим тип компаратора автоматически
q1.push(1);
q2.push(2);
}
}