再帰と、現在反復的な挿入ソートを再帰的なものに変える方法を理解しようとしています。
コードを再帰的にするには、コードに何をする必要がありますか?
- 無限ループにならないようにベースケースが必要だと思います。
- 再帰を完全に理解しているかどうかはわかりません。多分あなたは私のためにそれをより明確にすることができますか?
- 私はたくさんの読書をしましたが、どこから始めればいいのかまだわかりません.
これが私のコードです:
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;
}
}
}