0%
排序算法 - 快速排序
思路
动图演示
代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| private void quickSort(int[] arr, int start, int end) { int left = start; int right = end; if (end - start < 1) return; int tempValue = arr[start]; while (left != right) { while (left != right && arr[right] > tempValue) { right--; } swap(arr, left, right); while (left != right && arr[left] <= tempValue) { left++; } swap(arr, left, right); }
quickSort(arr, start, left - 1); quickSort(arr, left + 1, end); }
|