归并排序实现
一、递归版本
在递归版本的实现当中我们不需要太在意边界问题。
public void merge(int []num,int start, int mid, int end){
int [] left = new int[mid-start+1];
int []right=new int[end-mid];
for(int i=0;i
for(int i=0;i
int leftindex = start, rightindex = mid+1;
int index = start;
while(leftindex<=mid&&rightindex<=end){
if(left[leftindex]
num[index]=left[leftindex];
leftindex++;
}else{
num[index]=right[rightindex];
rightindex++;
}
index++;
}
while(leftindex<=mid) num[index++]=left[leftindex++];
while(rightindex<=end) num[index++]=right[rightindex++];
}
public void mergeSort(int []num,int start,int end){ </