合并排序递归不清楚数组的排序是如何实现的请帮助理解代码
merge sort recursion not clear how the sorting of array is achieved please help to understand the code
谁能帮助我理解如何使用合并排序的递归代码进行排序
void merge_sort(int arr[],int low,int up)
{
int mid;
int temp[MAX];
if(low<up)//if more than one element
{
mid=(low+up)/2;
merge_sort(arr,low,mid);//sort lower array
merge_sort(arr,mid+1,up);//sort upper array
merge(arr,temp,low,mid,mid+1,up);//merge the two arrays to temp array
copy(arr,temp,low,up);
}
}
我认为这是一个重复的问题
来自 this 的解释非常清楚。不在C++中,但我认为排除语言就足够了。
谁能帮助我理解如何使用合并排序的递归代码进行排序
void merge_sort(int arr[],int low,int up)
{
int mid;
int temp[MAX];
if(low<up)//if more than one element
{
mid=(low+up)/2;
merge_sort(arr,low,mid);//sort lower array
merge_sort(arr,mid+1,up);//sort upper array
merge(arr,temp,low,mid,mid+1,up);//merge the two arrays to temp array
copy(arr,temp,low,up);
}
}
我认为这是一个重复的问题 来自 this 的解释非常清楚。不在C++中,但我认为排除语言就足够了。