博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
库函数qsort使用示范
阅读量:5222 次
发布时间:2019-06-14

本文共 2828 字,大约阅读时间需要 9 分钟。

1 #include 
2 #include
3 #include
4 5 struct Struction 6 { 7 double one; 8 int another; 9 }; 10 11 int CmpInt_1(const void *a,const void *b) 12 { 13 return *(int*)a - *(int*)b; 14 } 15 16 int CmpInt_2(const void *a,const void *b) 17 { 18 int *c = (int *)a; 19 int *d = (int *)b; 20 21 if(*(c+0) != *(d+0)) 22 { 23 return *(c+0) - *(d+0); 24 } 25 else 26 { 27 return *(c+1) - *(d+1); 28 } 29 } 30 31 int CmpStruction(const void *a,const void *b) 32 { 33 struct Struction *c = (struct Struction *)a; 34 struct Struction *d = (struct Struction *)b; 35 36 if(c->one != d->one) 37 { 38 return c->one > d-> one ? 1 : 0; 39 } 40 else 41 { 42 return c->another > d-> another ? 1 : 0; 43 } 44 } 45 46 int CmpString(const void *a,const void *b) 47 { 48 return strcmp((char*)a,(char*)b); 49 } 50 51 int main() 52 { 53 int i,j; 54 55 //sort int* 56 int TestArray_1[10] = {
718,224,3332,4443,55,31,66,79,90,7}; 57 qsort(TestArray_1,10,sizeof(int),CmpInt_1); 58 59 for(i = 0; i < 10; i ++) 60 { 61 printf("%d ",TestArray_1[i]); 62 } 63 printf("\n\n"); 64 65 66 //sort int** 67 int TestArray_2[5][2] = {
{
0,1},{
2,7},{-4,99},{
1,900},{
2,423}}; 68 qsort(TestArray_2,5,sizeof(TestArray_2[0]),CmpInt_2); 69 70 for(i = 0; i < 5; i ++) 71 { 72 for(j = 0; j < 2; j ++) 73 { 74 printf("%d ",TestArray_2[i][j]); 75 } 76 printf("\n"); 77 } 78 printf("\n\n"); 79 80 //sort struct with two variable 81 struct Struction *TestArray_3 = malloc(5*sizeof(struct Struction)); 82 TestArray_3[0].one = 1.1; 83 TestArray_3[0].another = 18; 84 TestArray_3[1].one = 43; 85 TestArray_3[1].another = -99; 86 TestArray_3[2].one = 1.1; 87 TestArray_3[2].another = 900; 88 TestArray_3[3].one = 3; 89 TestArray_3[3].another = 6; 90 TestArray_3[4].one = 2; 91 TestArray_3[4].another = 4; 92 93 qsort(TestArray_3,5,sizeof(struct Struction),CmpStruction); 94 for(i = 0; i < 5; i ++) 95 { 96 printf("%lf %d\n",TestArray_3[i].one,TestArray_3[i].another); 97 } 98 printf("\n\n"); 99 100 //sort string101 char TestArray_4[5][100];102 strcpy(TestArray_4[0],"Asurudo");103 strcpy(TestArray_4[1],"Lokianyu");104 strcpy(TestArray_4[2],"Hatsune");105 strcpy(TestArray_4[3],"Miku");106 strcpy(TestArray_4[4],"Aqours");107 108 qsort(TestArray_4,5,sizeof(TestArray_4[0]),CmpString);109 for(i = 0;i < 5;i ++)110 {111 puts(TestArray_4[i]);112 }113 114 return 0;115 }

 

转载于:https://www.cnblogs.com/Asurudo/p/9427430.html

你可能感兴趣的文章
用UL标签+CSS实现的柱状图
查看>>
mfc Edit控件属性
查看>>
Linq使用Join/在Razor中两次反射取属性值
查看>>
[Linux]PHP-FPM与NGINX的两种通讯方式
查看>>
Java实现二分查找
查看>>
优秀员工一定要升职吗
查看>>
[LintCode] 462 Total Occurrence of Target
查看>>
springboot---redis缓存的使用
查看>>
架构图-模型
查看>>
sql常见面试题
查看>>
jQuery总结第一天
查看>>
Java -- Swing 组件使用
查看>>
Software--Architecture--DesignPattern IoC, Factory Method, Source Locator
查看>>
poj1936---subsequence(判断子串)
查看>>
黑马程序员_Java基础枚举类型
查看>>
[ python ] 练习作业 - 2
查看>>
一位90后程序员的自述:如何从年薪3w到30w!
查看>>
在.net core上使用Entity FramWork(Db first)
查看>>
System.Net.WebException: 无法显示错误消息,原因是无法找到包含此错误消息的可选资源程序集...
查看>>
UIImage 和 iOS 图片压缩UIImage / UIImageVIew
查看>>