gpt4 book ai didi

Java快速排序帮助理解

转载 作者:行者123 更新时间:2023-12-01 10:26:07 25 4
gpt4 key购买 nike

我正在尝试理解java中的快速排序算法。

我在下面我试图理解的部分旁边评论了我的问题。

public class Quciksort {

static void qsort( char items[]) {
qs(items,0,items.length-1); /*how can this method reference its parameters before the method is defined (below)?*/
}



private static void qs(char items[], int left, int right) //
{
int i, j;
char x, y;

i=left; j=right;
x=items[(left+right)/2];

do{
while((items[i] < x) && (i<right)) i++;
while((x < items[j]) && (j>left)) j--;

if(i<=j){
y=items[i];
items[i]=items[j];
items[j]=y;
i++;j--;
}
}while (i<=j);

if(left<j) qs(items, left, j);
if(i<right) qs(items, i, right);
}

}

最佳答案

您可能会将 Java 与 C 混淆,其中,如果我记得距上次使用它已经 10 多年了,那么在调用之前声明一个方法是一个很好的做法,或者可能是必需的。它。

在Java中,没有这样的要求。因此,您可以调用稍后在代码中实现的方法。

关于参数,我不确定我是否正确地理解了你的问题,但在你的示例中,你正在调用 qs 并使用数组 items 作为第一个参数(如它被赋予 qsort 方法),left 的值是 0,items 数组的长度 -1,对于 >对

关于Java快速排序帮助理解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35354667/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com