Java应用程序,用于Stooge Sort

以下是用于Stooge排序的Java程序-

示例

import java.io.*;
public class Demo {
   static void stooge_sort(int my_arr[], int l_val, int h_val){
      if (l_val >= h_val)
      return;
      if (my_arr[l_val] > my_arr[h_val]){
         int temp = my_arr[l_val];
         my_arr[l_val] = my_arr[h_val];
         my_arr[h_val] = temp;
      }
      if (h_val-l_val+1 > 2){
         int temp = (h_val-l_val+1) / 3;
         stooge_sort(my_arr, l_val, h_val-temp);
         stooge_sort(my_arr, l_val+temp, h_val);
         stooge_sort(my_arr, l_val, h_val-temp);
      }
   }
   public static void main(String args[]){
      int my_arr[] = {12, 34, 67, 91, 11, 0, 89, 102, 39};
      int n = my_arr.length;
      stooge_sort(my_arr, 0, n-1);
      System.out.println("The array after performing stooge sort is ");
      for (int i=0; i < n; i++)
      System.out.print(my_arr[i] + " ");
   }
}

输出结果

The array after performing stooge sort is
0 11 12 34 39 67 89 91 102

名为Demo的类包含一个名为“ stooge_sort”的函数,该函数将数组,左,高和右值作为参数。如果左值大于右值,则不返回任何内容。如果数组中的左值大于数组的右值,则执行简单的交换。

根据高度值和左值,通过传递左值和高度值来调用“ stooge_sort”函数。在main函数中,定义了数组,并将其长度存储在一个值中。通过传递这些值来调用该函数,并且输出将显示在控制台上。