日期:2014-05-20 浏览次数:20879 次
public void Merge(int[] arrays,int start,int m,int end){
	        int length=end-start+1;
	        int temp[]=new int[length];//用来存放比较的数组,用完复制回到原来的数组
	        int i=start;
	        int j=m+1;
	        int c=0;
	        while(i<=m &&j<=end){
	            if(arrays[i]<arrays[j]){
	                temp[c]=arrays[i];
	                i++;
	            }else{
	                temp[c]=arrays[j];
	                j++;
	            }
	            c++;
	        }
	        while(i<=m){
	            temp[c++]=arrays[i++];
	        }
	        while(j<=end){
	        temp[c++]=arrays[j++];
	        }
	        
	        c=0;
	        for(int t=start;t<=end;t++,c++){