C语言程序 排序----快速排序法

2025-11-09 10:53:51

1、ubuntu 14.04 linux c

gcc (Ubuntu 4.8.2-19ubuntu1) 4.8.2

2、#include <stdio.h>

#include <stdlib.h>

void QuickSort(int a[],int numsize)

{

        int i=0,j=numsize-1;

        int val=a[0];

        if(numsize<=1)

        {

                return ;

        }

        while(i<j)

        {

                for(;j>i;j--)

                {

                        if(a[j]<val)

                        {

                                a[i++]=a[j];

                                break;

                        }

                }

                for(;i<j;i++)

                {

                        if(a[i]>val)

                        {

                                a[j--]=a[i];

                                break;

                        }

                }

        }

        a[i]=val;

        QuickSort(a,i);

        QuickSort(a+i+1,numsize-i-1);

}

int main(void)

{

        int array[12];

        int i = 0;

        printf("the original array data seq :\n");

        for(i=0;i<12;i++)

        {

                array[i] = rand() % 100;

                printf("%d,",array[i]);

        }

        printf("\n");

        QuickSort(array,12);

        printf("after quick sort array data seq : \n");

        for(i=0;i<12;i++)

                printf("%d,",array[i]);

        printf("\n");

        return 0;

}

3、xxx@linux:~/code# gcc -o quick_sort quick_sort.c 

xxx@linux:~/code# ./quick_sort 

the original array data seq :

83,86,77,15,93,35,86,92,49,21,62,27,

after quick sort array data seq : 

15,21,27,35,49,62,77,83,86,86,92,93,

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢