#include <stdio.h>
int partition(int (&a)[11],int low,int high)
{
a[0] = a[low];
int pivotkey = a[low];
while(low<high)
{
while (low<high && a[high]>=pivotkey)
{
--high;
}
a[low] = a[high];
while (low<high && a[low]<=pivotkey)
{
++low;
}
a[high] = a[low];
}
a[low] = a[0];
return low;
}
void qqsort(int (&a)[11],int low,int high)
{
if (low<high)
{
int pivotloc = partition(a,low,high);
qqsort(a,low,pivotloc-1);
qqsort(a,pivotloc+1,high);
}
}
int main(void)
{
int array[11] = {10000,6,76,1,6,67,37,43,31,376,34};
qqsort(array,1,10);//array[0]被忽略掉了,不参与排序
for (int i=1;i<11;i++)
{
printf(" %d",array[i]);
}
printf("\n");
return 0;
}