Java 写一个快速排序,并且添加代码注释
时间: 2023-02-28 19:36:08 浏览: 125
快速排序 java代码
当然,这是 Java 实现快速排序的代码,并附带了代码注释:
```
import java.util.Arrays;
public class QuickSort {
public static void main(String[] args) {
int[] arr = {38, 65, 97, 76, 13, 27, 49};
quickSort(arr, 0, arr.length-1);
System.out.println(Arrays.toString(arr));
}
/**
* 快速排序方法
*
* @param arr 待排序数组
* @param low 数组的左边界
* @param high 数组的右边界
*/
public static void quickSort(int[] arr, int low, int high) {
// 左下标
int i = low;
// 右下标
int j = high;
// 分界值,比这个值小的数放在左边,比这个值大的数放在右边
int pivot = arr[(low + high) / 2];
// 分别从两端开始遍历数组,直到左右下标相遇
while (i <= j) {
// 寻找左边大于分界值的数
while (arr[i] < pivot) {
i++;
}
// 寻找右边小于分界值的数
while (arr[j] > pivot) {
j--;
}
// 左右下标还没相遇,交换两个数的位置
if (i <= j) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
i++;
j--;
}
}
// 如果左边还有剩余数据,递归快排左半部分
if (low < j) {
quickSort(arr, low, j);
}
// 如果右边还有剩余数据,递归快排右半部分
if (high > i) {
quickSort(arr, i, high);
}
}
}
```
这段
阅读全文