用qsort函数进行排序

对数组进行排序(可以是任意数据类型)

图片[1]-用qsort函数进行排序-it同学

执行结果

图片[2]-用qsort函数进行排序-it同学

对结构体进行排序

图片[3]-用qsort函数进行排序-it同学

运行结果

图片[4]-用qsort函数进行排序-it同学

代码备份

#include <stdio.h>
#include <stdlib.h>
struct Student {
	char name[10];
	int Chinese;
	int Math;
	int English;
};
Student students[3]= {
	{"Tom",97,68,45},{"Jerry",100,32,88},{"Harry",78,88,78}
};
void display(){
	for(int i=0;i<3;i++){
		printf("%s\t",students[i].name);
		printf("%d\t",students[i].Chinese);
		printf("%d\t",students[i].Math);
		printf("%d\n",students[i].English);
	}
}
int cmp(const void* a,const void* b) {
	Student* pa=(Student*)a;
	Student* pb=(Student*)b;
	return pa->Chinese-pb->Chinese;   //注意进行类型强制转换 
}
int main() {
	display();
	qsort(students,3,sizeof(Student),cmp);
	printf("\n"); 
	display();
	return 0;
}
© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容