इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे।
>समस्या कथन - हमें एक सरणी दी गई है, हमें इसे स्टूज सॉर्ट का उपयोग करके सॉर्ट करने की आवश्यकता है।
एल्गोरिदम
1. Check if value at index 0 is greater than value at last index,then swap them. 2. sort the initial 2/3rd of the array. 3. sort the last 2/3rd of the array. 4. sort the initial 2/3rd again to confirm.
आइए अब नीचे दिए गए कार्यान्वयन में समाधान देखें -
उदाहरण
def stoogesort(arr, l, h): if l >= h: return # swap if arr[l]>arr[h]: t = arr[l] arr[l] = arr[h] arr[h] = t # more than 2 elements if h-l+1 > 2: t = (int)((h-l+1)/3) # sort first 2/3 elements stoogesort(arr, l, (h-t)) # sort last 2/3 elements stoogesort(arr, l+t, (h)) # sort first 2/3 elements again stoogesort(arr, l, (h-t)) # main arr = [1,4,2,3,6,5,8,7] n = len(arr) stoogesort(arr, 0, n-1) print ("Sorted sequence is:") for i in range(0, n): print(arr[i], end = " ")
आउटपुट
Sorted sequence is: 1 2 3 4 5 6 7 8
सभी चर स्थानीय दायरे में घोषित किए गए हैं और उनके संदर्भ ऊपर दिए गए चित्र में देखे गए हैं।
निष्कर्ष -
इस लेख में, हमने सीखा है कि हम स्टूज सॉर्ट के लिए पायथन प्रोग्राम कैसे बना सकते हैं