栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

合并排序时间复杂度为(合并排序java代码实现)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

合并排序时间复杂度为(合并排序java代码实现)

public class mergeSort {
    static Comparable[] a= {1,4,2,5,3,7,6,8,9,10};
    static int[] b=new int[11];
    public static void main(String[] args) {
        mergeSort(a,0,a.length-1);
        for(int i=0;i         {
            
            System.out.println(a[i]+" ");
        }
    }
public static void mergeSort(Comparable a[],int left,int right) {
    if(left         int i=(left+right)/2;
        mergeSort(a,left,i);
        mergeSort(a,i+1,right);
        merge(a,b,left,i,right);
        copy(a,b,left,right);
}
}
private static void copy(Comparable[] a2, int[] b2, int left, int right) {
    // TODO Auto-generated method stub
for(int i=left;i }
public static void merge(Comparable[]c,int[] b2,int l,int m,int r) {
    int i=l,j=m+l,k=l;
    while((i<=m)&&(j<=r)){
        if(c[i].compareTo(c[j])<=0)
            b2[k++]=(int) c[i++];
        else b2[k++]=(int) c[j++];
    }
    if(i>m) {
        for(int q=j;q<=r;q++) 
            b2[k++]=(int) c[q];
    }
        else {
            for(int q=i;q<=m;q++)
                b2[k++]=(int) c[q];
        
}}}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/776538.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号