Java
 Computer >> コンピューター >  >> プログラミング >> Java

再帰的挿入ソートのためのJavaプログラム


以下は、再帰的挿入ソート用のJavaプログラムです-

import java.util.Arrays;
public class Demo{
   static void recursive_ins_sort(int my_arr[], int arr_len){
      if (arr_len <= 1)
         return;
      recursive_ins_sort( my_arr, arr_len-1 );
      int last = my_arr[arr_len-1];
      int j = arr_len-2;
      while (j >= 0 && my_arr[j] > last){
         my_arr[j+1] = my_arr[j];
         j--;
      }
      my_arr[j+1] = last;
   }
   public static void main(String[] args){
      int my_arr[] = {11, 23, 67, 83, 42, 11, 0};
      recursive_ins_sort(my_arr, my_arr.length);
      System.out.println("The array elements after implementing insertion sort is ");
      System.out.println(Arrays.toString(my_arr));
   }
}

出力

The array elements after implementing insertion sort is
[0, 11, 11, 23, 42, 67, 83]

Demoという名前のクラスには、挿入ソート用の静的再帰関数が含まれています。この関数は、配列とその長さをパラメーターとして受け取ります。ここでは、いくつかの条件がチェックされます。配列の長さが1未満の場合は、そのまま返されます。それ以外の場合、配列の要素は、配列のサイズを縮小することによって何度も何度も配列のサイズを縮小することによって並べ替えられます。

配列の最後の要素は正しい位置に配置され、別の変数がインデックスとして使用され、配列の最後の要素が配列の特定のインデックス要素と等しいかどうかがチェックされます。このようにして、要素は正しい位置に配置されます。キーより大きい要素が検出されると、次の位置にインクリメントされます。関連する出力がコンソールに表示されます。


  1. Pythonプログラムでの挿入ソート

    この記事では、Python3.xでの挿入ソートの実装について学習します。またはそれ以前。 アルゴリズム ソートされた配列を各反復で拡張することにより、入力要素を反復します。 現在の要素を、並べ替えられた配列で使用可能な最大値と比較します。 現在の要素の方が大きい場合は、その要素をそのままにして次の要素に移動します。それ以外の場合は、並べ替えられた配列内で正しい位置を見つけて、配列内のその位置に移動します。 これは、並べ替えられた配列内の現在の要素よりも大きいすべての要素を右にシフトすることで実現されます。 それでは、アルゴリズムの視覚的表現を見てみましょう

  2. 挿入ソート用のPythonプログラム

    この記事では、Python3.xでの挿入ソートの実装について学習します。またはそれ以前。 アルゴリズム 1. Iterate over the input elements by growing the sorted array at each iteration. 2. Compare the current element with the largest value available in the sorted array. 3. If the current element is greater, then it leaves the element in its place &n