java实现归并排序

来源:互联网 发布:纯html网站源码 编辑:程序博客网 时间:2024/06/18 06:59
package cn.java.array;import java.util.Arrays;public class MyMergeSort {public static void MergeSort(int[] num,int start,int end){if(start<end){int middle=(start+end)/2;MergeSort(num,start,middle);MergeSort(num,middle+1,end);Merge(num,start,middle,end);}}private static void Merge(int[] num, int start, int middle, int end) {int[] newNum=new int[num.length];int i=start; //i:start~middleint j=middle+1; //j:middle+1~endint index=start;while(i<=middle&&j<=end){if(num[i]<num[j]){newNum[index++]=num[i++];}else{newNum[index++]=num[j++];} }while(i<=middle){newNum[index++]=num[i++];}while(j<=end){newNum[index++]=num[j++];}/*for(int m=0;m<newNum.length;m++){num[start+m]=newNum[m];}*/while(start<=end){num[start]=newNum[start++];}}/** * @param args */public static void main(String[] args) {int[] num = { 2, 7, 8, 3, 1, 6, 9, 0, 5, 4 };MergeSort(num, 0, num.length-1);System.out.println(Arrays.toString(num));}}

0 0
原创粉丝点击