算法系统学习-1排序-归并排序

原创 2015年11月18日 19:10:27
import java.util.*;
 
public class MergeSort {
    public int[] mergeSort(int[] A, int n) {
         mergesort(A,0,n-1);
        return A;
    }
    public void mergesort(int[] A,int low,int high)
    {
        if(low<high)
        {
         int mid =(low+high)/2;
         mergesort(A,low,mid);
         mergesort(A,mid+1,high);
         merge(A,low,mid,high);
        }
    }
    public void merge(int[] A,int low,int mid,int high)
    {
      int [] tmp =new int[A.length];
      int m=low;
      int n=mid+1;
      int k=low;
        while(m<=mid&&n<=high)
        {
            if(A[m]<A[n])
            {
              tmp[k++]=A[m++];  
            }
            else
            {
                tmp[k++]=A[n++];
            }
             
        }
        while(m<=mid)
        {
          tmp[k++]=A[m++];  
        }
        while(n<=high)
        {
          tmp[k++]=A[n++];   
        }
        while(low<=high)
        {
          A[low]=tmp[low++]; 
        }
    }
}

相关文章推荐

递归归并排序算法

  • 2017年11月02日 22:33
  • 2KB
  • 下载

归并排序算法

  • 2013年10月27日 09:56
  • 5KB
  • 下载

第16周项目1 验证算法(7)归并排序

问题: /* * Copyright (c)2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名称:123.cpp * 作 ...

归并排序算法代码实现

  • 2012年11月15日 19:20
  • 2KB
  • 下载

项目 1 - 验证算法之(7)归并排序

/*  *Copyright (c) 2016,烟台大学计算机学院  *All right reserved.      *文件名称:test.cpp      *作者:杨天瑞      *完...

归并排序算法程序模拟

  • 2017年03月30日 23:47
  • 36KB
  • 下载

数据结构C++算法实现2 - 归并排序1

研究了三本书的归并排序的写法, 一:严蔚敏 数据结构; 写得太过于复杂,是这本书中写的最垃圾的算法,我一共研究过四遍吧,算法用错中复杂的参数和递归,令人看得非常头大。建议大家不要学习这本书的这个算法。...

归并排序算法

  • 2011年11月03日 10:23
  • 15KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:算法系统学习-1排序-归并排序
举报原因:
原因补充:

(最多只允许输入30个字)