ต่อไปนี้เป็นโปรแกรม Java สำหรับการจัดเรียง Stooge -
ตัวอย่าง
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' จะถูกเรียกโดยส่งค่า leftvalue และค่าความสูง ในฟังก์ชันหลัก อาร์เรย์จะถูกกำหนด และความยาวของอาร์เรย์จะถูกเก็บไว้ในค่า ฟังก์ชันนี้ถูกเรียกโดยการส่งผ่านค่าเหล่านี้และเอาต์พุตจะแสดงบนคอนโซล