这篇文章主要为大家详细介绍了C语言的快排函数用法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了C语言快排函数用法,供大家参考,具体内容如下
#包含标准视频
#包含标准库
#包含字符串。h
结构学生
{
int id
char name[12];
迷人的性爱;
};
int比较(常量void* a,常量void* b)//基本数据类型排序
{
return *(char *)a-*(char *)b;//从小到大
//取值//strong转为相应类型的指针!
}
int compare_struct(const void* a,const void* b)
{
return (*(struct student*)a).id-((struct student *)b)-id;
//注意优先级诶!//否则报错在非结构体中。
}
int compare _ struct _ duoji(const void * a,const void* b)//多级排序
{
结构学生学生_ a=*(结构学生*)a;
结构学生学生_b=*(结构学生*)b;
如果(学生_ a.id==学生_b.id)
{
返回学生_ a .性-学生_ b .性
}
其他
{
返回学生_ a . id-学生_ b.id
}
}
void main()
{
//* * * * * * * * * * * char型*************
char a[5]=' hello ';
qsort(a,5,sizeof(a[0]),compare);
//元素个数//元素大小//函数指针
int I;
for(I=0;i5;我)
printf('%c ',a[I]);
printf(' \ n ');
//***********结构型************
struct student e[4]={{100,'陈,' m'},{100,'李,' f'},\
{70,'王,' f'},{100,'张,' m ' } }
qsort(e,4,sizeof(e[1]),compare _ struct _ duoji);
for(I=0;i4;我)
printf('%d %s %c\n ',e[i].同上,e[i].姓名e[i].性);
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。