#include <stdio.h>
void quiksort(int a[],int low,int high)
{
int i = low;
int j = high;
int temp = a[i];
//使用low和high确定序列的大小,当每个序列的大小为1时,排序结束
if(low < high)
{
while(i < j)
{
while((a[j] >= temp)&&(i < j))
{
j--;
}
a[i] = a[j];
while((a[i] <= temp)&&(i < j))
{
i++;
}
a[j]=a[i];
}
a[i] = temp;//第一次排序后把关键数据放到那个位置
quiksort(a,low,i-1);//递归对分割的序列进行排序
quiksort(a,j+1,high);
}
else
{
return;
}
}
void main()
{
int arry[5] = {23,1,21,4,19};
quiksort(arry,0,4);
for(int i=0;i<5;i++)
{
printf("%d\n",arry[i]);
}
}