public static void quickSort(int[] arr, int start, int end) { if (start < end) { int key = arr[start]; int right = start; int left = end; while (right < left) { while (right < left && arr[left] > key) { left --; } if (right < left) { arr[right] = arr[left]; } while (right < left && arr[right] <= key) { right ++; } if (right < left) { arr[left] = arr[right]; } } arr[right] = key; quickSort(arr, start, right-1); quickSort(arr, left+1, end); } }