C语言快速排序函数用法(qsort)分享

—-想了解C语言快速排序函数用法(qsort)分享的全部内容且更多的C语言教程关注<计算机技术网(www.ctvol.com)!!>

C语言快速排序函数用法(qsort)分享实例为大家分享了C语言快排函数用法,供大家参考,具体内容如下

  #include <stdio.h>  #include <stdlib.h>  #include <string.h>  struct student  {    int id;    char name[12];    char sex;  };  int compare(const void* a,const void* b)//基本数据类型排序  {    return *(char*)a-*(char*)b;//从小到大      //取值//强转为相应类型的指针!!  }  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)//多级排序  {    struct student student_a=*(struct student*)a;    struct student student_b=*(struct student*)b;      if(student_a.id==student_b.id)    {      return student_a.sex-student_b.sex;    }    else    {      return student_a.id-student_b.id;    }  }  void main()  {  //*************char型*************    char a[5]="hello";    qsort(a,5,sizeof(a[0]),compare);        //元素个数//元素大小//函数指针    int i;    for(i=0;i<5;i++)        printf("%c ",a[i]);    printf("n");    //************struct型************    struct student e[4]={{100,"chen",'m'},{100,"li",'f'},                {70,"wang",'f'},{100,"zhang",'m'}};    qsort(e,4,sizeof(e[1]),compare_struct_duoji);      for(i=0;i<4;i++)        printf("%d %s %cn",e[i].id,e[i].name,e[i].sex);  }  

以上就是C语言快速排序函数用法(qsort)分享的全部内容,希望对大家的学习有所帮助,也希望大家多多支持<计算机技术网(www.ctvol.com)!!>。

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/c-cdevelopment/488450.html

(0)
上一篇 2020年11月12日
下一篇 2020年11月12日

精彩推荐