c语言中qsort函数的使用

C中的qsort()采用的是快排算法,C++的sort()则是改进的快排算法。两者的时间复杂度都是
nlogn

用法: void qsort(void* base,size_t_num,size_t_width,int(__cdeclcompare)(const void,const void*));

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 int num[100];
 4 int cmp_int(const void* aa,const void* bb)
 5 {
 6     int* a=(int*)aa;
 7     int* b=(int*)bb;ba
 8     return *a-*b; //从小到大排  return *b-*a; //从大到小排
 9 }
10 int main()
11 {
12     int i;
       int num[5]={3,6,8,1,0};
13     qsort(num,numSize,sizeof(int),cmp_int);
14     for(i=1;i<=3;++i)
15         printf("%d\n",num[i]);
16 }

double类型

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 double num[100];
 4 int cmp_double(const void* aa,const void* bb)
 5 {
 6     double* a=(double*)aa;
 7     double* b=(double*)bb;
 8     return *a-*b;
 9 }
10 int main()
11 {
12     int i;
13     num[1]=3.5;
14     num[2]=3.1;
15     num[3]=3.3;
16     qsort(num+1,3,sizeof(double),cmp_double);
17     for(i=1;i<=3;++i)
18         printf("%lf\n",num[i]);
19 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值