C语言函数qsort的使用方法

 时间:2024-11-05 08:51:01

1、对int类型数组排序int num[100]; int cmp ( const void *a , const void *b ){return *(int *)a - *(int *)b;} qsort(num,100,sizeof(num[0]),cmp);

2、对double类型数组排序 int Mycmp(const void *a ,const void * b) { return (*(double *)a>*(double * )b?1:-1); }

3、结构体一级排序 struct ln{double data;int x;int y;}; int Mycmp2(const void *a ,const void * b){return (((ln *)a)->data>((ln *)b)->data?1:-1);}

4、对结构体二级排序 struct ln{int x;坡纠课柩int y;}; 对x按升序排列,如果x相同,则y按降序排列旌忭檀祉 int Mycmp1(const void *a ,const void * b){return (((ln *)a)->data>((ln *)b)->data?1:-1);} //升序 int Mycmp2(const void *a ,const void * b){if(((ln *)a)->data==((ln *)b)->data) return (((ln *)a)->x>((ln *)b)->x?-1:1);}//降序 int Mycmp2(const void *a ,const void * b) //这个函数和上面两个函数之和的功能相同{if(((ln *)a)->data==((ln *)b)->data) return (((ln *)a)->x>((ln *)b)->x?-1:1);elsereturn (((ln *)a)->data>((ln *)b)->data?1:-1);}

5、对字符串进行排序 int Mycmp3(const void *a ,const void * b){return strcmp(((ln *)a)->str,((ln *)b)->str);}

6、对字符串二维数组排序完整代码#include <挢旗扦渌;stdio.h>#include <stdlib.h&爿讥旌护gt;#include <string.h>char s[2001][1001];int cmp(const void *a, const void *b){return strcmp((char *)a,(char *)b);}int main(){int i,n;scanf("%d",&n);getchar();for(i=0;i<n;i++) gets(s[i]);qsort(s,n,1001*sizeof(char),cmp);for(i=0;i<n;i++) puts(s[i]);return 0;}

  • django admin怎样设置成中文
  • H7N9病毒简介
  • HAL库如何使用USB虚拟串口
  • 学习强国APP怎么查看可信设备记录
  • 同声传译耳机如何延长使用寿命?请注意以下几点
  • 热门搜索
    杜康酒52度价格大全 锻炼方法 有黑眼圈怎么消除 鞋垫花样图案大全 信用卡到期了怎么办 idm怎么用 申论怎么复习 微信怎么截图发给别人 路由器网速慢怎么办 家常便饭菜谱