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

ノームソート用のJavaプログラム


ノームソートは一度に1つの要素で機能し、実際の位置に移動します。ノームソートを実装する例を見てみましょう-

import java.util.Arrays;
public class Demo{
   static void gnome_sort(int my_arr[], int n){
      int index = 0;
      while (index < n){
         if (index == 0)
            index++;
         if (my_arr[index] >= my_arr[index - 1])
            index++;
         else{
            int temp = 0;
            temp = my_arr[index];
            my_arr[index] = my_arr[index - 1];
            my_arr[index - 1] = temp;
            index--;
         }
      }
      return;
   }
   public static void main(String[] args){
      int my_arr[] = { 34, 67, 89, 11, 0 , -21 };
      gnome_sort(my_arr, my_arr.length);
      System.out.println("The array after perfroming gnome sort on it is ");
      System.out.println(Arrays.toString(my_arr));
   }
}

出力

The array after perfroming gnome sort on it is
[-21, 0, 11, 34, 67, 89]

Demoという名前のクラスには、「gnome_sort」という名前の静的関数が含まれています。ここでは、変数'index'が0に割り当てられます。そのインデックス値が配列の長さよりも小さい場合、インデックス値は0であるかどうかがチェックされます。0の場合、1ずつ増加します。それ以外の場合、特定のインデックスが配列の「index-1」の値よりも大きく、「temp」という名前の変数に0が割り当てられ、要素が交換されます。 「インデックス」値がデクリメントされます。

main関数では、配列は特定の値で定義され、「gnome_sort」関数がこの配列と配列の長さで呼び出されます。出力はコンソールに印刷されます。


  1. ストゥージソート用のPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −配列が与えられたので、ストゥージソートを使用してソートする必要があります。 アルゴリズム 1. Check if value at index 0 is greater than value at last index,then swap them. 2. sort the initial 2/3rd of the array. 3. sort the last 2/3rd of the array. 4. sort the initial 2/3rd again to confirm. 次に、以下の実装の

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

    この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −配列が与えられたので、ノームソートを使用してソートする必要があります。 アルゴリズム 1. Firstly we traverse the array from left to right. 2. Now,if the current element is larger or equal to the previous element then we traverse one step ahead 3. otherwise,if the current element is smaller than the