java写一个快速排序
时间: 2023-10-14 09:26:39 浏览: 36
快速排序是一种十分常见的排序算法,以下是Java实现的快速排序代码:
```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) {
if (left >= right) {
return;
}
int pivot = arr[left + (right - left) / 2];
int i = left;
int j = right;
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--;
}
}
quickSort(arr, left, j);
quickSort(arr, i, right);
}
}
```
快速排序的思想是选取一个基准值,将数组划分为两部分,一部分比基准值小,一部分比基准值大。然后再递归地对这两部分进行快速排序,直到整个数组有序为止。其中,选取基准值的方式有多种,常见的有取中间值、取第一个值、取随机值等。在本例中,基准值选取的方法是取中间值。