#include <stdio.h>
void quick_sort(int array[],int left,int right)
{
int temp;
int i=left;
int j=right;
int pivot;
pivot=array[(left+right)/2];
while (i<=j)
{
while(array[i]<pivot)
{
i++;
}
while (array[j]>pivot)
{
j--;
}
if (i<=j)
{
temp=array[i];
array[i]=array[j];
array[j]=temp;
i++;
j--;
}
}
//左边都比基准小,右边都比基准大,开始递归
if(left<j)
{
quick_sort(array,left,j);
}
if(i<right)
{
quick_sort(array,i,right);
}
}
int main()
{
int array[]={73,108,111,118,105};
int i,length;
length=sizeof(array)/sizeof(array[0]);
quick_sort(array,0,length-1);
printf("result is :\n");
for(i=0;i<length;i++)
{
printf("%d\t",array[i]);
}
return 0;
}
快排练习
最新推荐文章于 2021-05-20 09:18:37 发布