C语言程序 排序----快速排序法
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,