private static void quicksort(Object[] arr, int left, int right) { int i; int last; if (left >= right) {/* do nothing if array contains fewer than two */ return;/* two elements */ } swap(arr, left, (left + right) / 2); last = left; for (i = left + 1; i <= right; i++) { if (doCompare(arr[i], arr[left]) < 0) { swap(arr, ++last, i); } } swap(arr, left, last); quicksort(arr, left, last - 1); quicksort(arr, last + 1, right); }