用java写个快速排序,要求时间复杂度尽可能小
时间: 2023-02-18 12:20:39 浏览: 52
我可以给你一个快速排序的Java示例,时间复杂度为O(n log n):
public class QuickSort {
public static void sort(int[] array) {
quickSort(array, 0, array.length - 1);
}
private static void quickSort(int[] array, int start, int end) {
if (start >= end) {
return;
}
int pivot = array[end];
int left = start;
int right = end - 1;
while (left <= right) {
while (left <= right && array[left] < pivot) {
left++;
}
while (left <= right && array[right] >= pivot) {
right--;
}
if (left < right) {
int temp = array[left];
array[left] = array[right];
array[right] = temp;
}
}
int temp = array[left];
array[left] = pivot;
array[end] = temp;
quickSort(array, start, left - 1);
quickSort(array, left + 1, end);
}
}