java的快速排序怎么写?
时间: 2023-02-20 18:17:26 浏览: 12
Java的快速排序实现代码如下:
```
public class QuickSort {
public static void quickSort(int[] array, int left, int right) {
if (left >= right) {
return;
}
int pivotIndex = partition(array, left, right);
quickSort(array, left, pivotIndex - 1);
quickSort(array, pivotIndex + 1, right);
}
private static int partition(int[] array, int left, int right) {
int pivot = array[right];
int tail = left - 1;
for (int i = left; i < right; i++) {
if (array[i] <= pivot) {
tail++;
swap(array, tail, i);
}
}
swap(array, tail + 1, right);
return tail + 1;
}
private static void swap(int[] array, int i, int j) {
int temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
```
这段代码实现了快速排序算法,其中``quickSort``方法递归地对数组进行排序,``partition``方法选取一个元素作为基准,将小于等于该基准的元素放在左边,将大于该基准的元素放在右边。``swap``方法则是交换数组中的两个元素。
阅读全文