#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
void CelerityRun(int left, int right, int array[])
{
int i, j;
int middle, iTemp;
i = left;
j = right;
middle = array[(left + right) / 2];
do
{
while ((array[i] < middle) && (i < right))
i++;
while ((array[j] > middle) && (j > left))
j--;
if (i <= j)
{
iTemp = array[i];
array[i] = array[j];
array[j] = iTemp;
i++;
j--;
}
} while (i <= j);
if (left < j)
CelerityRun(left, j, array);
if (right > i)
CelerityRun(i, right, array);
}
int main()
{
int i;
int a[10];
printf("为数组元素赋值:\n");
for (i = 0; i < 10; i++)
{
printf("a[%d]=", i);
scanf("%d", &a[i]);
}
CelerityRun(0, 9, a);
printf("排序结果如下:\n");
for (i = 0; i < 10; i++)
{
printf("%d\t", a[i]);
}
return 0;
}