2025年01月13日 建站教程
//归
public void mergeSortDfs(int[] nums, int l, int r){
if(l >= r){
return;
}
int m = (l+r)/2;
mergeSortDfs(nums, l, m);
mergeSortDfs(nums, m+1, r);
merge(nums, l, m, r);
}
//并
private void merge(int[] nums, int left, int mid, int right){
int[] temp = new int[right-left+1];
int l = left;
int m = mid+1;
int i = 0;
while(l <= mid && m <= right){
if(nums[l] < nums[m]){
temp[i++] = nums[l++];
} else {
temp[i++] = nums[m++];
}
}
while(l <= mid){
temp[i++] = nums[l++];
}
while(m <= right){
temp[i++] = nums[m++];
}
System.arraycopy(temp, 0, nums, left, temp.length);
}
本文链接:http://so.lmcjl.com/news/21267/