#include <stdio.h>
#define N 16
int data[N] = {14,10,11,90,6,15,0,80,97,13,12,26,1,35,9,42};
void quick_sort(int data[], int low, int high)
{
int i, j, pivot;
if (low < high)
{
pivot=data[low];
i=low;
j=high;
while(i<j)
{
while (i<j && data[j]>=pivot)
j--;
//if(i<j)
data[i]=data[j]; //将比枢轴记录小的记录移到低端
while (i<j && data[i]<=pivot)
i++;
if(i<j)
data[j]=data[i]; //将比枢轴记录大的记录移到高端
}
data[i]=pivot; //枢轴记录移到最终位置
quick_sort(data,low,i-1);
quick_sort(data,i+1,high);
}
}
void main()
{
int i;
printf("待排序的数据:\n");
for (i=0; i<N; i++) {printf("%3d",data[i]);} ;
quick_sort(data,0,N-1);
printf("快速排序后的数据:\n");
for (i=0; i<N; i++) {printf("%3d",data[i]);} ;
}