java快速排序的递归是怎么实现的,能不能帮我把代码不完整。。
发布网友
发布时间:2022-05-02 22:28
我来回答
共1个回答
热心网友
时间:2022-06-27 21:41
递归实现要递归先写一个代码块再递归调用这个代码块,你没写代码块只能用循环来写,你要是想用递归的话看看百度百科的快速排序,里面写的很好还有优化的方法。
class Quick
{
public void sort(intarr[],intlow,inthigh)
{
int l=low;
int h=high;
int povit=arr[low];
while(l<h)
{
while(l<h&&arr[h]>=povit)h--;
if(l<h)
{
int temp=arr[h];
arr[h]=arr[l];
arr[l]=temp;
l++;
}
while(l<h&&arr[l]<=povit)l++;
if(l<h)
{
int temp=arr[h];
arr[h]=arr[l];
arr[l]=temp;
h--;
}
}
print(arr);
System.out.print("l="+(l+1)+"h="+(h+1)+"povit="+povit+"\n");
if(l>low)sort(arr,low,h-1);
if(h<high)sort(arr,l+1,high);
}
}
这段你参考一下吧
http://ke.baidu.com/view/19016.htm?from_id=2084344&type=syn&fromtitle=%E5%BF%AB%E9%80%9F%E6%8E%92%E5%BA%8F&fr=aladdin