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

来源:互联网 发布:淘宝网一年的销售额 编辑:程序博客网 时间:2024/06/05 23:43
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++];         }    }}

0 0