归并排序

来源:互联网 发布:阿里云 网站 编辑:程序博客网 时间:2024/05/16 18:35


public class MergeSort{public static void main(String[]args){int []A={1,0,2,4,7,2,1,-1};MergeSort(A,0,A.length-1);for(int i=0;i<A.length;i++){System.out.print(A[i]+" ");}}public static 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 static void merge(int []A,int low,int mid,int high){int []temp=new int [high-low+1];int h1=low,h2=mid+1,i=0;while(h1<=mid&&h2<=high){if(A[h1]<=A[h2]){temp[i++]=A[h1++];}else{temp[i++]=A[h2++];}}while(h1<=mid){temp[i++]=A[h1++];}while(h2<=high){temp[i++]=A[h2++];}int k=0;while(low<=high){A[low++]=temp[k++];}}} 


0 0
原创粉丝点击