इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे।
समस्या कथन - हमें एक सरणी दी गई है, हमें इसे पुनरावृत्त तरीके से त्वरित सॉर्ट की अवधारणा का उपयोग करके सॉर्ट करने की आवश्यकता है
यहां हम पहले सरणी को विभाजित करते हैं और क्रमबद्ध सरणी प्राप्त करने के लिए अलग विभाजन को सॉर्ट करते हैं।
आइए अब नीचे दिए गए कार्यान्वयन में समाधान देखें-
उदाहरण
# iterative way def partition(arr,l,h): i = ( l - 1 ) x = arr[h] for j in range(l , h): if arr[j] <= x: # increment i = i+1 arr[i],arr[j] = arr[j],arr[i] arr[i+1],arr[h] = arr[h],arr[i+1] return (i+1) # sort def quickSortIterative(arr,l,h): # Creation of a stack size = h - l + 1 stack = [0] * (size) # initialization top = -1 # push initial values top = top + 1 stack[top] = l top = top + 1 stack[top] = h # pop from stack while top >= 0: # Pop h = stack[top] top = top - 1 l = stack[top] top = top - 1 # Set pivot element at its correct position p = partition( arr, l, h ) # elements on the left if p-1 > l: top = top + 1 stack[top] = l top = top + 1 stack[top] = p - 1 # elements on the right if p+1 < h: top = top + 1 stack[top] = p + 1 top = top + 1 stack[top] = h # main arr = [2,5,3,8,6,5,4,7] n = len(arr) quickSortIterative(arr, 0, n-1) print ("Sorted array is:") for i in range(n): print (arr[i],end=" ")
आउटपुट
Sorted array is 2 3 4 5 5 6 7 8
सभी चर स्थानीय दायरे में घोषित किए गए हैं और उनके संदर्भ ऊपर दिए गए चित्र में देखे गए हैं।
निष्कर्ष
इस लेख में, हमने सीखा है कि कैसे हम पुनरावृत्त त्वरित सॉर्ट के लिए पायथन प्रोग्राम बना सकते हैं।