自定义sort函数

1.升序排列
sort函数如果不传入第三个参数,则默认是升序排列。
2.降序排列
可以使用自定义的比较函数,函数的返回值为bool类型,例如:
bool cmp(int num1, int num2) {
    return num1 > num2;     // 可以简单理解为 > 降序排列;  <  升序排列
}
3.结构体排序(自定义比较函数)

要对元素进行排序,前提是元素之间可以进行比较,即谁大谁小。 基本数据类型可直接进行大小比较, 但结构体元素之间的大小关系需要我们自己指定,如果不指定,则结构体之间大小关系就不确定,则不能够排序。

例如:
bool cmp(Student s1, Student s2) {  // 自定义排序
    if (s1.grade != s2.grade) {     // 如果学生成绩不相同
        return s1.grade > s2.grade; // 则按照成绩降序排列
    }
    return s1.name < s2.name;   // 否则按照姓名升序排列
}
4.自定义comp函数返回true或false作用

自定义函数返回值为bool类型

  • 若返回true,则表示num1 与num2应该交换顺序;
  • 若返回false, 则num1 与num2 保持原有顺序;
bool cmp(int num1, int num2) {    // 实现降序排列
    return num1 > num2;    // num1大于num2时返回true,否则返回false
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
03-08 19:53
已编辑
AAA不喝拿铁:海投吧,感觉项目写的可以了,能cover住提问就行。我根据真实面经整理得到的最全(高/中/低频)面试题,适合面试前短期突击&长期提高补充,需要的牛u可以关注一手我的专栏,祝好运
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务