Gnome 排序的 Java 程式


Gnome 排序一次處理一個元素並將它放到正確的位置。我們來看一個示例來實現 Gnome 排序 −

示例

 即時演示

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,並且將交換這些元素。“index”值遞減。

在 main 函式中,將定義一個帶有特定值的陣列,並且會對該陣列和該陣列的長度呼叫“gnome_sort”函式。輸出在控制檯上列印。

更新日期:07-Jul-2020

250 次瀏覽

開啟您的職業

完成課程 獲得認證

開始
廣告