クイックソートアルゴリズムを作成しようとしています。次のコードを見てください。
public static void quickSort(int[] tab, int lowIndex, int highIndex) {
if (tab.length == 0 || tab == null) {
return;
}
int i = lowIndex;
int j = highIndex;
int pivot = tab[tab.length / 2];
while (i <= j) {
while (tab[i] < pivot) {
i++;
}
while (tab[j] > pivot) {
j--;
}
if (i <= j) {
int c = tab[i];
tab[i] = tab[j];
tab[j] = c;
i++;
j--;
}
if (lowIndex < j) {
quickSort(tab, lowIndex, j); // error !!!
}
if (i < highIndex) {
quickSort(tab, i, highIndex);
}
}
}
問題は、スレッド「メイン」での例外 java.lang.StackOverflowError です。なにが問題ですか ?