结构体中的比较排序

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;

}

这样写会有小问题。

全部评论

相关推荐

03-02 16:31
已编辑
合肥工业大学 golang
程序员鼠鼠_春招版:学历可以,项目普通,评价多余,奖项没有,如果有面试都是因为学历给你的,我建议可以随便包几个奖项上去,像什么蓝桥杯天梯赛,虽然不一定有用,但是相比acm这种风险小多了,我几段实习下来,压根没查的,第二点是包一段小厂实习,大厂你不好拿捏,小厂打打杂也能让你在26里面出彩一点
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务