Я хочу сделать что-то вроде этого:
priority_queue< pair<int, int>, vector<int>, greater<int> > Q;
Это отлично работает, если тип, который я сравниваю, int
, то есть:
priority_queue< int, vector<int>, greater<int> > Q;
однако, очевидно, с pair<int, int>
, нет способа сравнения пар в очереди со стандартным >
. Мне было интересно, что я должен делать? Как реализовать перегруженный >
или есть ли другой способ создать очередь приоритетов пар с наименьшим pair.second
, находящимся в верхней части очереди?