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

时间:2026-02-15 00:13:34

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,

© 2026 途途旅游
信息来自网络 所有数据仅供参考
有疑问请联系站长 site.kefu@gmail.com