比如,按照second来排序,first无所谓。second大的放在最前面:
struct cmp{
template<typename T, typename U>
bool operator()(T const& left, U const &right) {
if (left.second < right.second) return true;
return false;
}
};
...
int main(){
unordered_map<int, int> mp;
mp[3]=4;
mp[2]=44;
mp[12]=432;
priority_queue<pair<int, int>, vector<pair<int, int>>, cmp> pq(mp.begin(), mp.end());//完成pq的初始化
}