स्टूज सॉर्ट के लिए जावा प्रोग्राम निम्नलिखित है -
उदाहरण
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
डेमो नामक एक वर्ग में 'स्टूज_सॉर्ट' नामक एक फ़ंक्शन होता है जो सरणी, बाएँ, ऊँचाई और दाएँ मानों को पैरामीटर के रूप में लेता है। यदि बायाँ मान दाएँ मान से अधिक है, तो कुछ भी वापस नहीं किया जाता है। यदि सरणी में बायां मान सरणी के दाएं मान से अधिक है, तो एक साधारण अदला-बदली की जाती है।
ऊँचाई और बाएँ मानों के आधार पर, 'stooge_sort' फ़ंक्शन को बाएँ मान और ऊँचाई मान को पास करके कहा जाता है। मुख्य फ़ंक्शन में, सरणी को परिभाषित किया जाता है, और इसकी लंबाई एक मान में संग्रहीत होती है। फ़ंक्शन को इन मानों को पास करके कहा जाता है और आउटपुट कंसोल पर प्रदर्शित होता है।