3.排序题与sort函数的应用
程序员文章站
2024-03-22 17:07:10
...
3.排序题与sort函数的应用
1.相关结构体的定义
struct stu{
char name[10]; //名字
char id[10]; //学号
int score; //分数
int r; //排名
};
2. sort中cmp函数编写
例如:要求按照分数高低排序,如果相同按照名字从小到大排序。
bool cmp(stu a,stu b) //a,b是两个结构体变量
{
if(a.score!=b.score) return a.score>b.score;
else rertun strcmp(a.name,b.name)<0; //为什么不是==-1 (不同编译器返回的值可能不同,<0一定正确)
}
3. 排序后个体的排名
例如:90、88、88、88、86————1、2、2、2、5
stu[0].r=1;
for(int i=0;i<n;i++)
{
if(stu[i].score==stu[i-1].score) stu[i].r==stu[i-1].r;
else stu[i].r=i+1;
}