इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे।
समस्या कथन - हमें एक सरणी दी गई है, हमें इसे चक्र प्रकार की अवधारणा का उपयोग करके क्रमबद्ध करने की आवश्यकता है।
यह एक इन-प्लेस एल्गोरिथम है और चक्रों के निर्माण से अदला-बदली होती है।
आइए अब नीचे दिए गए कार्यान्वयन में समाधान देखें -
उदाहरण
def cycleSort(array): writes = 0 # cycles to be rotated for cycleStart in range(0, len(array) - 1): item = array[cycleStart] #position to place the item pos = cycleStart for i in range(cycleStart + 1, len(array)): if array[i] < item: pos += 1 # if item exits, it is not a cycle if pos == cycleStart: continue # Otherwise, place the item while item == array[pos]: pos += 1 array[pos], item = item, array[pos] writes += 1 # rotation continued while pos != cycleStart: # Find a position to place the item pos = cycleStart for i in range(cycleStart + 1, len(array)): if array[i] < item: pos += 1 # place the item while item == array[pos]: pos += 1 array[pos], item = item, array[pos] writes += 1 return writes # main arr = [1,5,3,4,8,6,3,4,5] n = len(arr) cycleSort(arr) print("Sorted array is : ") for i in range(0, n) : print(arr[i], end = " ")
आउटपुट
Sorted array is : 1 3 3 4 4 5 5 6 8
सभी चर स्थानीय दायरे में घोषित किए गए हैं और उनके संदर्भ ऊपर दिए गए चित्र में देखे गए हैं।
निष्कर्ष
इस लेख में, हमने सीखा है कि हम साइकिल सॉर्ट के लिए पायथन प्रोग्राम कैसे बना सकते हैं