4.29 机试笔记
关于C++中的sort()函数:[要导入头文件]
1. sort(a,b,comp): a:排序的起始地址【*注意是地址】。b:排序的结束地址。
comp:表示升序或者降序(bool),默认是升序。也可以自定义排序方式。
-
2.关于sort()的自定义排序方式举例:
假设现在有一个结构体Student(code , score);有一个数组students存储多个Student结构体。
要求:先按照成绩降序,成绩相同按照学号从小到大排序。
实现:sort(students,students+n,Compare):这里的students和+n都是地址,那么自定义Compare。
bool Compare(Student a, Student b){
if(a.score==b.score){ return a.code<b.code;} // 如果分数相等,如果a的学号小于b的学号就返回ture(让a在b前面)
else{ return a.score>b.score} // 如果分数不等,那么如果a的分数大于b的,返回true(让a在b的前面)
}
记住一句话就行,如果返回true就是上第一个变量放在第二个变量的前面。