Java 中的快速排序 (Stackoverflow)
Quicksort in Java (Stackoverflow)
我正在尝试在 Java 中编写快速排序算法,但在尝试 运行 时遇到了一些问题。
public static <T extends ICompare<T>> void quicksort(T[] a, int start, int end) {
start = 0;
end = a.length - 1;
int i = start;
int k = end;
if (end - start >= 1) {
T pivot = a[start];
while (k > i) {
while (a[i].lesserEqual(pivot) && i <= end && k > i) {
i++;
}
while (a[k].greaterEqual(pivot) && k >= start && k >= i) {
k--;
}
if (k > i) {
swap(a, i, k);
}
}
swap(a, start, k);
quicksort(a, start, k - 1);
quicksort(a, k + 1, end);
} else {
return;
}
}
当我尝试 运行 时,控制台会显示一些关于 Whosebug 的信息:
Exception in thread "main" java.lang.WhosebugError
at tests.Data.getValue(Data.java:14)
at tests.Data.lesserEqual(Data.java:31)
at tests.Data.lesserEqual(Data.java:1)
at algo.Sort.quicksort(Sort.java:29)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
我真的确定我在那里的一个 while 循环做错了什么,但我看不出它是什么?
感谢帮助
一开始你是这样做的:
start = 0;
end = a.length - 1;
每次你调用你的方法时,你都会用这个重写它通过参数传递的值,因此你的快速排序永远不会结束。而且因为它永远不会结束,所以它会一次又一次地递归调用,一段时间后,保存有关调用另一个方法的信息的堆栈溢出,你会得到异常。
我正在尝试在 Java 中编写快速排序算法,但在尝试 运行 时遇到了一些问题。
public static <T extends ICompare<T>> void quicksort(T[] a, int start, int end) {
start = 0;
end = a.length - 1;
int i = start;
int k = end;
if (end - start >= 1) {
T pivot = a[start];
while (k > i) {
while (a[i].lesserEqual(pivot) && i <= end && k > i) {
i++;
}
while (a[k].greaterEqual(pivot) && k >= start && k >= i) {
k--;
}
if (k > i) {
swap(a, i, k);
}
}
swap(a, start, k);
quicksort(a, start, k - 1);
quicksort(a, k + 1, end);
} else {
return;
}
}
当我尝试 运行 时,控制台会显示一些关于 Whosebug 的信息:
Exception in thread "main" java.lang.WhosebugError
at tests.Data.getValue(Data.java:14)
at tests.Data.lesserEqual(Data.java:31)
at tests.Data.lesserEqual(Data.java:1)
at algo.Sort.quicksort(Sort.java:29)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
at algo.Sort.quicksort(Sort.java:44)
我真的确定我在那里的一个 while 循环做错了什么,但我看不出它是什么?
感谢帮助
一开始你是这样做的:
start = 0;
end = a.length - 1;
每次你调用你的方法时,你都会用这个重写它通过参数传递的值,因此你的快速排序永远不会结束。而且因为它永远不会结束,所以它会一次又一次地递归调用,一段时间后,保存有关调用另一个方法的信息的堆栈溢出,你会得到异常。