要快速排序一个Java中的List,可以使用Collections类中的sort方法来实现。下面是一个示例代码:
import java.util.*;
public class QuickSortExample {
public static void main(String[] args) {
List<Integer> list = new ArrayList<>(Arrays.asList(5, 3, 8, 6, 2, 7, 1, 4));
quickSort(list, 0, list.size() - 1);
System.out.println(list);
}
public static void quickSort(List<Integer> list, int low, int high) {
if (low < high) {
int pivotIndex = partition(list, low, high);
quickSort(list, low, pivotIndex - 1);
quickSort(list, pivotIndex + 1, high);
}
}
public static int partition(List<Integer> list, int low, int high) {
int pivot = list.get(high);
int i = low - 1;
for (int j = low; j < high; j++) {
if (list.get(j) < pivot) {
i++;
Collections.swap(list, i, j);
}
}
Collections.swap(list, i + 1, high);
return i + 1;
}
}
这段代码定义了一个QuickSortExample类,其中包含了一个quickSort方法和一个partition方法来实现快速排序。在main方法中创建了一个整数类型的List,并对其进行快速排序,最后输出排序后的结果。