用java写个快速排序
时间: 2023-10-12 07:19:00 浏览: 30
好的,以下是用Java实现快速排序的代码:
```
public class QuickSort {
public static void sort(int[] arr) {
if (arr == null || arr.length == 0) {
return;
}
quickSort(arr, 0, arr.length - 1);
}
private static void quickSort(int[] arr, int left, int right) {
int i = left;
int j = right;
int pivot = arr[(left + right) / 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 (left < j) {
quickSort(arr, left, j);
}
if (right > i) {
quickSort(arr, i, right);
}
}
public static void main(String[] args) {
int[] arr = {5, 3, 8, 6, 4, 2, 9, 7, 1};
sort(arr);
for (int i : arr) {
System.out.print(i + " ");
}
}
}
```
以上代码实现了快速排序算法,其中sort函数是对外暴露的接口,调用quickSort函数实现快速排序,代码中使用了递归的方式对左右两部分的数组进行排序。