快速排序

来源:互联网 发布:淘宝家居装修日记 编辑:程序博客网 时间:2024/06/02 03:27
//快速排序//int型数组进行排序/*#include<stdio.h>#include<stdlib.h>int  cmp(const void *a,const void *b){    return(*(int *)a-*(int *)b);//升序排列    //return(*(int *)b-*(int *)a);//降序}int main(){int s[1000],n,i;scanf("%d",&n);for(i=0;i<n;i++){    scanf("%d",&s[i]);}//qsort(s,n,sizeof(s[0]),cmp);全部排序qsort(&s[3],4,sizeof(s[0]),cmp);//s[3]开始以及其之后的4个元素进行排序for(i=0;i<n;i++){    printf("%d ",s[i]);}printf("\n");system("pause");return 0;}*///double 型数组进行排序/*#include<stdio.h>#include<stdlib.h>int cmp(const void *a,const void *b){    return((*(double *)a-*(double *)b>0)?1:-1);//两个double数是不    // 可能相等的,只能说fabs(a-b)<1e-20之类的这样来判断,所以这里只返回了1和-1}int main(){    double s[100];    int n,i;    while(scanf("%d",&n)!=EOF){        for(i=0;i<n;i++){            scanf("%lf",&s[i]);        }        qsort(s,n,sizeof(s[0]),cmp);        for(i=0;i<n;i++){            printf("%.2lf ",s[i]);//        }        printf("\n");    }return 0;}*///对字符串数组进行排序#include<stdio.h>#include<stdlib.h>#include<string.h>int cmp(const void *a,const void *b){    return(*(char *)a-*(char *)b);}int main(){    char s[1000];    int n,i;    while(gets(s)){   n=strlen(s);    qsort(s,n,sizeof(s[0]),cmp);    puts(s);    }    return 0;}


原创粉丝点击