#include <stdio.h>
typedef int DataType;
void QuickSort(DataType a[], int low, int high)
{
int i = low, j = high;
DataType temp = a[low];//取第一个元素为标准数据元素
while(i<j)
{
while(i<j&&temp<=a[j]) j--;//在数组的右端扫描
//
if(i<j)
{
a[i]=a[j];
i++;
}
while(i<j&&a[i]<temp) i++;//在数组的左端扫描
if(i<j)
{
a[j]=a[i];
j--;
}
}
a[i]=temp;
if(low<i) QuickSort(a,low,i-1);//对temp左端子集合进行递归
if(i<high) QuickSort(a,j+1,high);//对temp右端子集合进行递归
}
int main()
{
int a[]={3,5,8,1,2,9,4,7,6};
QuickSort(a,0,8);
for(int i=0;i<9;i++)
{
printf("%d ",a[i]);
}
return 0;
}