结构体中的比较排序

bool compare(const people& s1,const people& s2){

if(s1.c==s2.c){

if(s1.year==s2.year){

return s1.name<s2.name;

}

return s1.year>s2.year;

}

return s1.c>s2.c;

}

比较函数 compare: bool compare(const people& s1,const people& s2):这是一个自定义的比较函数,用于 sort 函数的第三个参数。它定义了 people 结构体的排序规则: 首先比较 c 的大小,如果 s1.c == s2.c,则比较 year 的大小,按照 year 从大到小排序(即出生年份越早越靠前)。 如果 s1.year == s2.year,则比较 name 的大小,按照 name 的字典序从小到大排序。 否则,按照 c 的大小从大到小排序。

注意:bool compare(const people& s1,const people& s2){

    if(s1.c==s2.c){

        return s1.year>s2.year;

    }else if(s1.year==s2.year){

        return s1.name<s2.name;

    }

    return s1.c>s2.c;

}

这样写会有小问题。

全部评论

相关推荐

02-07 10:52
复旦大学 Java
混子不想混:非常能理解,感觉他们就靠着入行早,打压新人一样。我这个公司也是,天天干的累死累活,然后绩效打C,合着让新人被绩效,像是年底攒棺材本一样。总是打击之后,还会让人开始自我怀疑,是不是我努力的还不够,实际上并不是,就是他们不做人,故意打压新人。
点赞 评论 收藏
分享
2025-12-25 16:26
已编辑
河北科技学院 Java
勇敢的牛油不服输:2800-300那不等于2500一个月吗兄弟们
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务