美文网首页
快排code demon

快排code demon

作者: 良人与我 | 来源:发表于2019-01-17 14:54 被阅读5次

快速排序demon

/**
 * @author river
 * @date 2019/1/17 13:59
 **/
public class QuiteSortDemon {

    public void quitSort(int[] num)
    {
        quitSort_c(num,0,num.length - 1);
    }
    public void quitSort_c(int[] num,int start,int end)
    {
        if(start >= end){
            return;
        }

        int middle = partition(num,start,end) ;
        quitSort_c(num,start,middle -1);
        quitSort_c(num,middle + 1,end);
    }
    /**
     * 返回分割数下标,
     * 并将 小于 分割数的 放置于左边,
     * 大于 分割数的 放置于右边
     **/
    public int partition(int[] num,int start,int end){
        //保存已经按照规则排序的下标
        int i = start;
        int patitionValue = num[end];
        //遍历整个数组
        for (int j = start; j <= end ; j++) {
            if(num[j] < patitionValue){
                int tmp = num[j];
                num[j] = num[i];
                num[i] = tmp;
                i++;
            }
        }
        //最后将 pation value 放置于合适位置
        int tmp = num[i];
        num[i] = num[end];
        num[end] = tmp;
        return i;
    }

    public static void main(String[] args) {
        int[] b = {5,1,9,3,7,8,12,666,888,45,221};
        new QuiteSortDemon().quitSort(b);
        System.out.println(new Gson().toJson(b));
    }
}

相关文章

  • 快排code demon

    快速排序demon

  • 快排

    快排代码

  • 快排

  • 快排

    昨天晚上睡觉前兴起准备十分钟写出快排,结果纠结了两个小时愣是没有搞出来,很郁闷地睡觉去。今天地铁上跟LG又重新缕了...

  • 快排

    基本思想: 先从数列中取出一个数作为基准数。 分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的...

  • 快排

  • 快排

    python实现 java实现:

  • 快排

    快速排序: 基本思想:1、先从数列中取出一个数作为基数。2、分区,将比此基数大的数放到它右边,小的数放到它左边。3...

  • 快排

    package sort;import java.util.Arrays;public class Quickso...

  • 快排

网友评论

      本文标题:快排code demon

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