用java写一个快速排序
时间: 2023-02-06 21:44:35 浏览: 72
这是一种用 Java 实现快速排序的方法:
```
import java.util.Arrays;
public class QuickSort {
public static void main(String[] args) {
int[] arr = {5, 7, 2, 4, 9, 1, 8, 6, 3};
quickSort(arr, 0, arr.length - 1);
System.out.println(Arrays.toString(arr));
}
public static void quickSort(int[] arr, int start, int end) {
if (start >= end) {
return;
}
int pivot = arr[start];
int left = start;
int right = end;
while (left < right) {
while (left < right && arr[right] >= pivot) {
right--;
}
arr[left] = arr[right];
while (left < right && arr[left] <= pivot) {
left++;
}
arr[right] = arr[left];
}
arr[left] = pivot;
quickSort(arr, start, left - 1);
quickSort(arr, left + 1, end);
}
}
```
这段代码实现了快速排序算法的核心部分,即以第一个元素作为基准值,将数组分成左右两部分,左边的元素都比基准值小,右边的元素都比基准值大,然后递归地对左右两部分分别排序。
需要注意的是,快速排序是不稳定的排序算法,即排序过程中可能会改变相同元素之间的相对顺序。
阅读全文
相关推荐














