所以我正在编写一个程序,该程序将使用快速排序对字符串的自定义数组列表进行排序。(我必须自定义编写一个类的所有代码)。但是,我不断收到堆栈溢出错误,我不知道为什么。(我是初学者,所以放轻松)。
void quickSort () {
recursiveQuickSort(0, numElements-1);
}
// Recursive quicksort
public void recursiveQuickSort(int start, int end) {
// if size 1 or less, don't need to do anything
int pivotPosition = 0;
if (start <=1 || end <= 1 ) {
} else
pivotPosition =partition(start, end);
recursiveQuickSort(start, pivotPosition-1);
recursiveQuickSort(pivotPosition+1, end);
}
static int partition(int start, int end) {
int pivot = end;
end--;
while(true) {
while (true) {
if (end < start) {
break;
}
if (end < pivot) {
end = end;
break;
} else end --;
}
while(true) {
if (end < start) {
break;
}
if (start > pivot) {
start = start;
break;
} else start++;
}
if(end < start) {
break;
}
else
swap(start, end);
}
swap(end+1, pivot);
return end + 1;
}