इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे।
समस्या कथन - हमें एक सरणी दी गई है, हमें इसे चक्र प्रकार की अवधारणा का उपयोग करके क्रमबद्ध करने की आवश्यकता है।
यह एक इन-प्लेस एल्गोरिथम है और चक्रों के निर्माण से अदला-बदली होती है।
आइए अब नीचे दिए गए कार्यान्वयन में समाधान देखें -
उदाहरण
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

सभी चर स्थानीय दायरे में घोषित किए गए हैं और उनके संदर्भ ऊपर दिए गए चित्र में देखे गए हैं।
निष्कर्ष
इस लेख में, हमने सीखा है कि हम साइकिल सॉर्ट के लिए पायथन प्रोग्राम कैसे बना सकते हैं