温馨提示×

Java定义list如何快速排序

小樊
82
2024-06-25 17:29:31
栏目: 编程语言

要快速排序一个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,并对其进行快速排序,最后输出排序后的结果。

0