vector<pair<string,int>>排序
成绩排序
http://www.nowcoder.com/questionTerminal/8e400fd9905747e4acc2aeed7240978b
#include <iostream> #include <string> #include <vector> #include <algorithm> //#include <unordered_map> using namespace std; bool cmp0(const pair<string,int> &a,const pair<string,int> &b) { return a.second>b.second; } bool cmp1(const pair<string,int> &a,const pair<string,int> &b) { return a.second<b.second; } void mysort(int n,int flag) { //unordered_map<string,int> res; vector<pair<string,int>> res(n); for(int i=0;i<n;i++) { cin>>res[i].first>>res[i].second; } if(flag==0) { stable_sort(res.begin(),res.end(),cmp0); } else if(flag==1) { stable_sort(res.begin(),res.end(),cmp1); } for(int i=0;i<n;i++) { cout<<res[i].first<<" "<<res[i].second<<endl; } } int main() { int n,flag; while(cin>>n>>flag) { mysort(n,flag); } return 0; }