首页 » Program » C/C++ » 正文

qsort(c version)

qsort函数是快速排序,包含在stdlib.h头文件内,qsort(a,n,sizeof(x),cmp),这四个参数分别表示开始排序的地址,排序元素数量,每个排序元素的长度,比较函数,其中比较函数要自己写,下面以整型数的排序为例子说明此函数用法

#include <stdio.h>
#include <stdlib.h>

int qcmp(const void *a, const void *b)
{
    return (*(int *)a-*(int *)b);
}

int main()
{
    int n,i,j;
    int str[1005];
    while (scanf("%d",&n)!=EOF)
        {
            for (i=1; i<=n; i++) scanf("%d",&str[i]);
            qsort(&str[1],n,sizeof(int),qcmp);
            for (j=1; j<=n; j++)
                {
                    if (j!=n) printf("%d ",str[j]);
                    else printf("%d",str[j]);
                }
            printf("\n");
        }
}
赞 (0)

Comment