用于 Gnome Sort 的 Java 程序

javaobject oriented programmingprogramming更新于 2025/7/22 22:36:17

Gnome Sort 每次处理一个元素并将其置于实际位置。让我们看一个实现 Gnome Sort 的示例 −

示例

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("执行 gnome 排序后的数组为 ");
      System.out.println(Arrays.toString(my_arr));
   }
}

输出

对数组执行 gnome sort 后的结果为
[-21, 0, 11, 34, 67, 89]

名为 Demo 的类包含一个名为 ‘gnome_sort’ 的静态函数。这里,变量 ‘index’ 被赋值为 0。如果该索引值小于数组的长度,则检查索引值是否为 0。如果为 0,则将其加 1。否则,如果特定索引处的值大于数组 ‘index-1’ 处的值,则将名为 ‘temp’ 的变量赋值为 0,并交换元素。‘index’值减少。

在主函数中,定义一个具有特定值的数组,并在此数组和数组长度上调用‘gnome_sort’函数。输出打印在控制台上。


相关文章


有用资源