求大佬解释一下

#include<bits/stdc++.h>
using namespace std;
struct qwq{
    string a;
    int b;
}s[100005];
bool cmp(qwq x,qwq y){
    return x.b<y.b;
}
int main(){
    int n,k;
    cin>>n>>k;
    for(int i=1;i<=n;++i)
        cin>>s[i].a>>s[i].b;
        sort(s+1,s+n+1,cmp);
    if(k==1)
        for(int i=1;i<=n;++i)
            cout<<s[i].a<<" "<<s[i].b<<endl;
    else 
        for(int i=n;i>=1;--i)
            cout<<s[i].a<<" "<<s[i].b<<endl;
    return 0;
}
链接:https://www.nowcoder.com/questionTerminal/0383714a1bb749499050d2e0610418b1?orderByHotValue=1&questionTypes=000100&difficulty=00001&page=1&onlyReference=false
来源:牛客网

查找和排序

题目:输入任意(用户,成绩)序列,可以获得成绩从高到低或从低到高的排列,相同成绩
都按先录入排列在前的规则处理。

示例:
jack      70
peter     96
Tom       70
smith     67

从高到低  成绩
peter     96
jack      70
Tom       70
smith     67

从低到高

smith     67

jack      70
Tom      70
peter     96


输入描述:
	

输入多行,先输入要排序的人的个数,然后输入排序方法0(降序)或者1(升序)再分别输入他们的名字和成绩,以一个空格隔开



输出描述:
	

按照指定方式输出名字和成绩,名字和成绩之间以一个空格隔开

示例1

输入

3
0
fang 90
yang 50
ning 70

输出

fang 90
ning 70
yang 50
为什么一个测试点都过不了?#C/C++#
全部评论
要stable_sort吧
点赞 回复 分享
发布于 2019-07-05 18:49

相关推荐

11-11 14:21
西京学院 C++
无敌混子大王:首先一点,不管学校层次怎么样,教育经历放在第一页靠上位置,第一页看不到教育经历,hr基本直接扔掉了
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务