QuickSort

作者: 苏州城外无故人 | 来源:发表于2019-03-20 16:38 被阅读0次
package Java;

public class QuickSort {
    /**
     * 时间复杂度O(nlogn)
     * 空间复杂度O(logn)递归需要栈的辅助
     * 最坏时间复杂度O(n^2)
     * @param nums
     * @param start
     * @param end
     */

    public static void QuickSort(int[] nums, int start, int end) {
        int i = start;
        int j = end;
        if (start >= end) {
            return;
        }
        int temp = nums[i];
        while (i < j) {
            //从右往左扫描,找到小于temp的值
            while (i < j && nums[j] >= temp) {
                j--;
            }
            //找到小于temp的值,将其赋值给nums[i],并将i向右移一位。
            if (i < j) {
                nums[i] = nums[j];
                i++;
            }
            //从左往右扫描,直到找到大于temp的值
            while (i < j && nums[i] <= temp) {
                i++;
            }
            //找到大于temp的值,将其赋值给nums[j],并将j往左移一位。
            if (i < j) {
                nums[j] = nums[i];
                j--;
            }
        }
        //最后是temp的值
        nums[i] = temp;
        //递归将temp左边的数组排序
        QuickSort(nums, start, i - 1);
        QuickSort(nums, i + 1, end);
        //递归将temp右边的数组排序
    }


    public static void main(String[] args) {
        int[] nums = {6,89,2,11,3,79,51,19,87};
        QuickSort(nums, 0, nums.length - 1);

        for (int i = 0; i < nums.length; i++) {
            System.out.print(nums[i] + " ");
        }
    }
}

相关文章

  • java快速排序

    public class QuickSort { public static void quickSort(int...

  • 3.1.0 快速排序

    quicksort

  • Quicksort

    worst-case running time of n2 on an input array of n numb...

  • QuickSort

  • QuickSort

    思想:以第一个为参照元素,分别从第二个和最后一个逐一和参照元素比较,小的留在左边low区域,大的留在右边high区...

  • QuickSort

    快排没啥好讲的,主要是看到剑指offer上说求第K大个数,能达到时间O(N),表示不理解。同时,以下代码中part...

  • QuickSort

  • Quicksort

    Quicksort是一个分而治之的算法,它根据主元把一个大数组分成2个小数组:其中1个数组的元素要比主元小,另一个...

  • 九. Sort 1 mergesort and quicksor

    Comparing the mergesort and quicksort, the mergesort nee...

  • QuickSort in swift

网友评论

      本文标题:QuickSort

      本文链接:https://www.haomeiwen.com/subject/csrtvqtx.html