快排
sort的原函数
在两个变量绑定时,无法直接用sort
直接贴代码,没什么好描述的
#include"stdio.h"
void quiksort(int a[],int low,int high)
{
int i = low;
int j = high;
int temp = a[i];
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;
}
}
int main()
{
int arry[5] = {23,1,21,4,19};
quiksort(arry,0,4);
for(int i=0;i<5;i++)
{
printf("%d ",arry[i]);
}
printf("\n");
return 0;
}