注意:map本身是按照key值进行升序排序,如果升序不必管理
因为sort函数对有序函数进行排序,所以需要和vector配合使用
1.对key进行降序处理
map<string ,string> m;
m["abc"] = "456";m["def"]="789";m["ghi"]="123";
vector<PAIR> vec(m.begin(),m.end());
for(map<string,string>::iterator it = m.begin(); it != m.end(); it++){
cout<<it->first<<"->"<<it->second<<endl;
}
cout << "----------(原本升序)华丽的分割线(排序后如下)------------" << endl;
sort(vec.begin(),vec.end(),cmp);
for(int i = 0; i < vec.size(); i++){
cout << vec[i].first << "->" << vec[i].second << endl;
}
结果:
2.对value进行排序
map<string ,string> m;
m["abc"] = "456";m["def"]="789";m["ghi"]="123";
vector<PAIR> vec(m.begin(),m.end());
for(map<string,string>::iterator it = m.begin(); it != m.end(); it++){
cout<<it->first<<"->"<<it->second<<endl;
}
cout << "----------(原本key升序)华丽的分割线(排序后value升序)------------" << endl;
sort(vec.begin(),vec.end(),cmp);
for(int i = 0; i < vec.size(); i++){
cout << vec[i].first << "->" << vec[i].second << endl;
}
结果:
3.对value进行降序就不写了(同2)