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;
}
全部评论

相关推荐

点赞 评论 收藏
分享
9 收藏 评论
分享
牛客网
牛客企业服务