1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| public class QuickSort { private void swap(int[] arr, int i, int j) { int temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } public void quickSort(int[] arr, int start, int end) { if (start >= end) return; int k = arr[start]; int i = start, j = end; while (i != j) { while (i < j && arr[j] >= k) --j; swap(arr, i, j); while (i < j && arr[i] <= k) ++i; swap(arr, i, j); } quickSort(arr, start, i - 1); quickSort(arr, i + 1, end); } public static void main(String[] args) { int[] arr = {5, 2, 6, 9, 1, 3, 4, 8, 7, 10}; new QuickSort().quickSort(arr, 0, arr.length - 1); System.out.println(Arrays.toString(arr)); } }
|