我应该在java中执行快速排序算法来对数组{50,20,65,30,75,25,90}进行排序。这是我到目前为止所拥有的:
public class QuickSort {
public static int partition(int arrayName[], int down, int up){
int i = down, j = up;
int temp;
int pivot = arrayName[(down + up) / 2];
while (i <= j){
while (arrayName[i] < pivot)
i++;
while (arrayName[j] > pivot)
j--;
if (i <= j){
temp = arrayName[i];
arrayName[i] = arrayName[j];
arrayName[j] = temp;
i++;
j--;
}
}
return i;
}
public static void main(String[] args) {
int [] arrayName = {50, 20, 65, 30, 75, 25, 90};
System.out.println(partition(arrayName, down, up));
}
}
我在 print 语句上收到一个错误(似乎在这些方面有很多麻烦),指出 down 和 up 无法解析为变量。我该如何修复它才能成功打印排序列表?
最佳答案
这是因为您没有在 main
方法中定义任何名为 down
和 up
的变量。您应该指定值而不是那些名称。
关于java - Java中的快速排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9104570/