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

Chương trình Python cho Stooge Sort


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ố vấn đề - 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 sắp xếp stooge.

Thuật toán

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.

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ụ

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

Đầu ra

Sorted sequence is:
1 2 3 4 5 6 7 8

Chương trình Python cho Stooge Sort

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 hiển thị 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 cho Stooge Sort