Computer >> Máy Tính >  >> Lập trình >> Java

Chương trình Java cho Stooge Sort

Sau đây là chương trình Java dành cho sắp xếp Stooge -

Ví dụ

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] + " ");
   }
}

Đầu ra

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

Một lớp có tên Demo chứa một hàm có tên là ‘stooge_sort’ lấy các giá trị mảng, trái, chiều cao và phải làm tham số. Nếu giá trị bên trái lớn hơn giá trị bên phải, không có gì được trả về. Nếu giá trị bên trái trong mảng lớn hơn giá trị bên phải của mảng, một hoán đổi đơn giản được thực hiện.

Dựa trên các giá trị của chiều cao và giá trị bên trái, hàm ‘stooge_sort’ được gọi bằng cách chuyển giá trị bên trái và giá trị chiều cao. Trong hàm main, mảng được xác định và độ dài của nó được lưu trong một giá trị. Hàm được gọi bằng cách chuyển các giá trị này và đầu ra được hiển thị trên bảng điều khiển.