我试图理解递归以及如何将我当前的迭代插入排序转换为递归排序。
我需要对我的代码做些什么才能使其递归?
- 我想我需要一个基本案例,这样它就不会变成无限循环。
- 我不确定我是否完全理解递归。也许你可以让我更清楚?
- 我读了很多书,但我仍然不知道从哪里开始。
这是我的代码:
public class InsertionSort
{
public static void main(String a[])
{
int i;
int array[] =
{ 8, 33, 12, 99, 0, 17 };
System.out.println("Values of Array before the sort: ");
for (i = 0; i < array.length; i++)
{
System.out.print(array[i] + " ");
}
insertion_srt(array, array.length);
System.out.println("");
System.out.println("Values of Array after the sort: ");
for (i = 0; i < array.length; i++)
{
System.out.print(array[i] + " ");
}
}
public static void insertion_srt(int array[], int n)
{
for (int i = 1; i < n; i++)
{
int j = i;
int B = array[i];
while ((j > 0) && (array[j - 1] > B))
{
array[j] = array[j - 1];
j--;
}
array[j] = B;
}
}
}