【发布时间】:2017-11-21 17:31:42
【问题描述】:
我是一名初学者,正在尝试学习递归,我尝试在 Stackoverflow 中阅读教程和旧问答以更好地理解,但无法... 任何人都可以通过使用以下 MergeSort sn-p 来启发我递归的工作原理。
public class MergeSort{
public static void main(String a[]){
int [] array={5,2,8,4,7,3,9,1};
mergeSort(array,0, array.length-1);
for(int i = 0; i < array.length; i++)
{
System.out.print(array[i]+" ");
System.out.println();
}
}
public static void mergeSort(int array[],int low, int high){
if (low >= high)
{
return;
}
int middle = (low + high) / 2;
mergeSort(array, low, middle);
mergeSort(array, middle + 1, high);
merge(array, low,middle,high);
}
public static void merge(int arr[],int l,int m,int h)
{ \\Remaining Code goes here..}
}
【问题讨论】:
-
递归的工作原理是一遍又一遍地对数据子集调用相同的方法,直到您将较大的任务分解为单个任务。看一个阶乘的例子。这是一个完美的代码示例,通过简单的解决方案解释了递归的基本概念。
-
@MichaelPlatt 简单解释!谢谢...