c++中map按value值排序
阿新 • • 發佈:2019-02-03
int cmp(const pair<string, int>& x, const pair<string, int>& y) //定義sort排序方式
{
return x.second > y.second;
{
return x.second > y.second;
}
int main() {
map<string, int, greater<string> > show_map_ans;
typedef pair<string, int> PAIR;
vector<PAIR> show_map_ans_vec(show_map_ans.begin(), show_map_ans.end());//把map裡面的元素放到vector中
sort(show_map_ans_vec.begin(), show_map_ans_vec.end(),cmp);//用sort進行排序
for (int i = 0; i != show_map_ans_vec.size(); ++i) {//輸出元素
cout << show_map_ans_vec[i].first<<" "<<show_map_ans_vec[i].second <<endl;
}
}