Dump out all the key-value pairs into a set<pair<K, V> >
first, where the set
is constructed with a less-than functor that compares the pair’s second value only. That way, your code still works even if your values aren’t all distinct.
Or dump the key-value pairs into a vector<pair<K, V> >
, then sort that vector with the same less-than functor afterwards.