Computer >> Máy Tính >  >> Lập trình >> Python

Chương trình Python để sắp xếp nhanh lặp đi lặp lại


Trong bài viết này, chúng ta sẽ tìm hiểu về giải pháp cho câu hỏi được đưa ra bên dưới.

Tuyên bố sự cố - Chúng ta được cung cấp một mảng, chúng ta cần sắp xếp nó bằng cách sử dụng khái niệm sắp xếp nhanh bằng cách sử dụng cách lặp lại

Ở đây, trước tiên chúng ta phân vùng mảng và sắp xếp phân vùng riêng biệt để có được mảng đã sắp xếp.

Bây giờ chúng ta hãy quan sát giải pháp trong việc triển khai bên dưới−

Ví dụ

# 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=" ")

Đầu ra

Sorted array is
2 3 4 5 5 6 7 8

Chương trình Python để sắp xếp nhanh lặp đi lặp lại

Tất cả các biến được khai báo trong phạm vi cục bộ và các tham chiếu của chúng được nhìn thấy trong hình trên.

Kết luận

Trong bài viết này, chúng ta đã tìm hiểu về cách chúng ta có thể tạo một chương trình Python để sắp xếp nhanh lặp lại.