示例代码:
#include<iostream>
using namespace std;
#include<map>
#include<cstring>
#include<string>
#include<algorithm>
#include<set>
//#include<utility> //pair头文件
struct cmp
{
bool operator()(const pair<string,int> &a,const pair<string,int> &b)
{
if(a.second!=b.second)
return a.second>b.second;
return a.first<b.first;
}
};
set<pair<string,int>,cmp>mp; //set
int main()
{
//mp.insert(make_pair("a44",4));
mp.insert({"a44",4});
mp.insert({"bc",5});
mp.insert({"a8",4});
mp.insert({"afadf",2});
mp.insert({"afadg",9});
//mp.insert(make_pair("c",5));
// mp[0]="c";
// mp[1]="cb";
// mp[2]="a";
for(auto it=mp.begin();it!=mp.end();it++)
cout<<(*it).first<<" "<<(*it).second<<endl;
return 0;
}