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 次浏览

开启您的职业

完成课程 获得认证

开始
广告
© . All rights reserved.