快速排序java图解
时间: 2023-12-08 18:38:56 浏览: 117
以下是Java实现快速排序的图解过程:
1.首先选择一个基准数,一般选择数组的第一个数作为基准数。
2.定义两个指针,一个指向数组的第一个位置,一个指向数组的最后一个位置。
3.从右往左扫描,找到第一个小于基准数的数,将其与基准数交换。
4.从左往右扫描,找到第一个大于基准数的数,将其与基准数交换。
5.重复3、4步骤,直到左指针大于等于右指针。
6.将基准数与左指针所在位置的数交换。
7.递归处理左右两个子数组,直到数组长度为1。
以下是Java代码实现:
```java
public class QuickSort {
public static void quickSort(int[] arr, int left, int right) {
if (left >= right) {
return;
}
int i = left, j = right, pivot = arr[left];
while (i < j) {
while (i < j && arr[j] >= pivot) {
j--;
}
if (i < j) {
arr[i++] = arr[j];
}
while (i < j && arr[i] < pivot) {
i++;
}
if (i < j) {
arr[j--] = arr[i];
}
}
arr[i] = pivot;
quickSort(arr, left, i - 1);
quickSort(arr, i + 1, right);
}
}
```
阅读全文