java的快速排序怎么写?
时间: 2023-02-21 22:11:59 浏览: 29
Java中快速排序的代码如下:
```
import java.util.Arrays;
public class QuickSort {
public static void quickSort(int[] array, int left, int right) {
if (left < right) {
int pivot = partition(array, left, right);
quickSort(array, left, pivot - 1);
quickSort(array, pivot + 1, right);
}
}
private static int partition(int[] array, int left, int right) {
int pivotValue = array[right];
int partitionIndex = left;
for (int i = left; i < right; i++) {
if (array[i] < pivotValue) {
swap(array, i, partitionIndex);
partitionIndex++;
}
}
swap(array, partitionIndex, right);
return partitionIndex;
}
private static void swap(int[] array, int i, int j) {
int temp = array[i];
array[i] = array[j];
array[j] = temp;
}
public static void main(String[] args) {
int[] array = { 9, 8, 7, 6, 5, 4, 3, 2, 1 };
System.out.println("Original array: " + Arrays.toString(array));
quickSort(array, 0, array.length - 1);
System.out.println("Sorted array: " + Arrays.toString(array));
}
}
```
说明:
- `quickSort` 函数是递归函数,用于实现快速排序的主要逻辑。
- `partition` 函数是对数组的一个分区进行排序的辅助函数。
- `swap` 函数是交换数组中两个元素的位置的辅助函数。