Я получаю Stackoverflow, если попробую этот код с numbers.length n = 100.000 ("." Только для удобства чтения) и числами в обратном порядке, например 100.000 99.999 99.998 ... Это нормально?Это работает для меньшего п, как 10.000.
private void quickSort(int[] numbers, int l, int r) {
if (l < r) {
int p = numbers[r];
int i = l - 1;
int j = r;
do {
do {
i++;
} while (numbers[i] < p);
do {
j--;
} while (j >= l && numbers[j] > p);
if (i < j) {
swap(numbers, i, j);
}
} while (i < j);
swap(numbers, i, r);
quickSort(numbers, l, i - 1);
quickSort(numbers, i + 1, r);
}
}