结构体中的比较排序

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;

}

这样写会有小问题。

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-11 15:08
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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