c语言中的Qsort函数

qsort()函数模板为:Qsort(s,n,sizeof(a[0]),cmp)

解释:s为数组的名字,n为数组的大小,sizeof(a[0])为一个数组元素的大小,cmp为一个函数,可以声明数组是按什么顺序排的,是升序还是降序。

        一般的,cmp函数的模板为:

cmp(const void *a,const void *b){

               return  (*(int *)a-*(int *)b);//此为升序;若为return (*(int *)b-*(int *)a);则为降序

       }

 其中的qsort函数包含在<stdlib.h>的头文件里,strcmp包含在<string.h>的头文件里。在程序中可直接调用Qsort函数,很方便很好用,快排序有时候会和枚举法共用来解决问题,例如:求一数组中满足条件(其他任意三个数的和等于这个数)的最大的一个数。(解法:先排序后枚举) 

下面附上Qsort()函数的基本运用时的代码:

<span style="font-size:14px;">#include<stdio.h>
#include<stdlib.h>

#include<string.h>
int s[10000],n,i;
int cmp(const void *a,const void *b){
    return (*(int *)a-*(int *)b);//升序
}
int main()
{
    scanf("%d",&n);
    for(i=0;i<n;i++)
         scanf("%d",&s[i]);
    qsort(s,n,sizeof(s[0]),cmp);
    for(i=0;i<n;i++)
         printf("%d",s[i]);
         return 0;
         }</span>


 

 

 

 

 

 

 

     

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值