合并排序
2020-12-13 16:28
标签:合并 return 复杂 复制 sort ati static length mergesort 合归并排序需要 ,先排序,再 合并。复杂度为O(nlogn);空间复杂度为O(N)。需要额外的数组,保存复制已排序的数组到原数组中。 合并排序 标签:合并 return 复杂 复制 sort ati static length mergesort 原文地址:https://www.cnblogs.com/bowenqianngzhibushiwo/p/11620066.html public static void mergeSort(int [] a,int l,int r){
if(l==r)
return ;
int mid=l+(r-l)/2;
mergeSort(a,l,mid);
mergeSort(a,mid+1,r);
merge(a,l,mid,r);
}
public static void merge(int [] a,int l,int m,int r){
int i=l;
int p1=l;
int p2=m+1;
int [] tmp=new int[r-1+1];
while(p1r){
tmp[i++]=a[p1]];
}
while(p1m){
tmp[i++]=a[p1++];
}
while(p2r){
tmp[i++]=a[p2++];
}
for(int j=0;j
上一篇:Java递归的简单代码实现