快速排序【示例】

冒泡排序可以说是我们学习的第一个真正的排序算法,并且解决了桶排序浪费
空间的问题,但在算法的执行效率上却牺牲了很多,它的时间复杂度达到了 O(N^2)。假如我
们的计算机每秒钟可以运行 10 亿次,那么对 1 亿个数进行排序,桶排序只需要 0.1 秒,而冒
泡排序则需要 1 千万秒,达到 115 天之久,是不是很吓人?那有没有既不浪费空间又可以快一点的排序算法呢?那就是“快速排序”啦!

public class QuickSort {

    public static void main(String[] args) {
        int[] array = {34, 7, 23, 32, 5, 62, 32, 2, 78, 1};
        System.out.println("原始数组:");
        printArray(array);

        quickSort(array, 0, array.length - 1);

        System.out.println("排序后的数组:");
        printArray(array);
    }

    // 快速排序的主函数
    public static void quickSort(int[] array, int low, int high) {
        if (low < high) {
            // pi是分区索引,array[pi]已经排好序
            int pi = partition(array, low, high
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值