Java实现快速排序
时间: 2023-03-01 09:52:36 浏览: 89
用java实现快速排序
Java实现快速排序的方法如下:
```
import java.util.Arrays;
public class QuickSort {
public static void main(String[] args) {
int[] arr = {10, 7, 8, 9, 1, 5};
quickSort(arr, 0, arr.length-1);
System.out.println("排序后的数组: " + Arrays.toString(arr));
}
public static void quickSort(int[] arr, int low, int high) {
if (arr == null || arr.length == 0) return;
if (low >= high) return;
// 选择基准值
int pivot = arr[low + (high-low)/2];
int i = low;
int 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);
}
}
```
这是一种快速排序的迭代实现。它通过选择基准值,将数组划分为两个部分,并递归地对这两部分进行排序。
阅读全文