I'm wanting to do something like this:
priority_queue< pair<int, int>, vector<int>, greater<int> > Q;
This works fine if the type I'm comparing is int, i.e.:
priority_queue< int, vector<int>, greater<int> > Q;
however, obviously with the pair<int, int>, there is no way of comparing the pairs in the queue with the standard >. I was wondering what I should do? How would I implement an overloaded > or is there another way I can create a priority queue of pairs with the smallest pair.second being at the top of the queue?