用java写一个快速排序
时间: 2024-03-09 22:36:23 浏览: 57
好的,可以为您讲解一下Java实现快速排序的代码:
public class QuickSort {
public static void main(String[] args) {
int[] arr = {5, 1, 9, 4, 8, 3, 6, 2, 7};
quickSort(arr, 0, arr.length - 1);
for (int i : arr) {
System.out.print(i + " ");
}
}
public static void quickSort(int[] arr, int left, int right) {
if (left < right) {
int p = partition(arr, left, right); // 划分
quickSort(arr, left, p - 1); // 对左边部分递归
quickSort(arr, p + 1, right); // 对右边部分递归
}
}
public static int partition(int[] arr, int left, int right) {
int pivot = arr[left]; // 取第一个数为基准值
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; // 放回基准值
return left;
}
}
这是Java实现快速排序的代码,您可以根据自己的需要进行修改。