用Java写快速排序
时间: 2023-03-01 08:05:52 浏览: 48
快速排序是一种分治算法,通常用于排序数组。它的基本思想是:选择一个基准元素,通过一趟扫描,将待排序列分成两部分,一部分比基准元素小,另一部分大于等于基准元素,然后再按此方法对这两部分数列分别进行快速排序,整个排序过程可以递归进行,以达到整个数列变成有序列。
以下是Java实现的快速排序代码:
```
public class QuickSort {
public static void quickSort(int[] arr, int low, int high) {
if (arr == null || arr.length == 0)
return;
if (low >= high)
return;
// 基准元素
int middle = low + (high - low) / 2;
int pivot = arr[middle];
// 把小于基准元素的放到左边
int i = low, j = high;
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);
}
}
```