zoukankan      html  css  js  c++  java
  • 归并排序

    主要思想是先对序列进行分割,然后再进行归并排序。
    如一个数组[1,2,3,4,5,6]
    第一次分割为[1,2,3],[4,5,6]
    第二次分割为[1,2],[3],[4,5],[6]
    第三次分割为[1],[2],[3],[4],[5,[6]
    第一次归并排序为[1],[2];[4],[5]
    .
    .
    .
    以此类推

    public
    class MergeSort { private double[] bridge; public MergeSort(double [] sorted){ if(sorted.length==0){ throw new NullPointerException("size is null"); } int sorted_length=sorted.length; bridge=new double[sorted_length]; } public void mergeso(double [] obj,int left,int right){ while(left<right){ int center=(left+right)/2; mergeso(obj,left,center); mergeso(obj,center+1,right); merge(obj,left,center,right); } } public void merge(double [] obj,int left,int center,int right){ int mid=center+1; int tem1=left; int tem2=left; while(left<=center && mid<=right){ if(obj[left]<obj[mid]){ bridge[tem1++]=obj[left++]; } else{ bridge[tem1++]=obj[mid++]; } } while(left<=center){ bridge[tem1++]=obj[left++]; } while(mid<=center){ bridge[tem1++]=obj[mid++]; } copy(obj,tem2,right); } public void copy(double [] obj,int left,int right){ while(left<=right){ obj[left]=bridge[left]; left++; } } }
  • 相关阅读:
    Web Api 模型绑定 二
    C#关键字
    ASP.NET Core MVC 过滤器
    EF性能优化篇一
    Linq
    HTTP协议
    Linux进程管理(11)
    Linux网络配置(10)
    Django模板修炼
    递归
  • 原文地址:https://www.cnblogs.com/luo-mao/p/6100864.html
Copyright © 2011-2022 走看看