Java 快速排序
时间: 2023-02-10 20:11:31 浏览: 83
Java快速排序算法.pptx.pptx
Java 快速排序是一种分治算法,它将一个数组分成两个子数组,将两部分独立地排序。
快速排序的基本思想是:
1. 在数组中选取一个基准元素
2. 将所有小于基准元素的元素移到基准元素的左边,所有大于基准元素的元素移到基准元素的右边
3. 递归地对左右两个子数组进行快速排序
下面是 Java 快速排序的一个示例实现:
```
public class QuickSort {
public static void quickSort(int[] arr, int left, int right) {
if (left < right) {
int pivot = partition(arr, left, right);
quickSort(arr, left, pivot - 1);
quickSort(arr, pivot + 1, right);
}
}
private static int partition(int[] arr, int left, int right) {
int pivot = arr[right];
int i = left - 1;
for (int j = left; j < right; j++) {
if (arr[j] < pivot) {
i++;
swap(arr, i, j);
}
}
swap(arr, i + 1, right);
return i + 1;
}
private static void swap(int[] arr, int i, int j) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
```
使用时,可以像下面这样调用快速排序方法:
```
int[] arr = {9, 8, 7, 6, 5, 4, 3, 2, 1};
QuickSort.quickSort(arr, 0, arr.length - 1);
```
执行完后,数组 `arr` 将被排序为升序。
阅读全文