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

Chương trình Python để sắp xếp cocktail

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

Tuyên bố sự cố - Chúng tôi được cung cấp một danh sách, chúng tôi cần thực hiện sắp xếp bitonic trên danh sách đã cho và hiển thị danh sách

Phân loại cocktail - Ở đây sắp xếp diễn ra giống như sắp xếp bong bóng, nơi lặp lại diễn ra theo cả hai hướng.

Thuật toán

Đầu tiên mảng được duyệt từ trái sang phải. Trong quá trình truyền tải, các mục liền kề được so sánh và dựa trên các điều kiện, các giá trị được hoán đổi. Bằng cách này, số lớn nhất sẽ nằm ở cuối mảng.

Bây giờ mảng được duyệt theo hướng ngược lại và dựa trên các điều kiện, các phần tử được hoán đổi vị trí. Bằng cách này, số nhỏ nhất sẽ là ở đầu.

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ụ

# function
def cocktailSort(a):
   n = len(a)
   flag = True
   start = 0
   end = n-1
   while (flag==True):
      # to ignore the result of the previous iteration
      flag = False
      # left to right traversal
      for i in range (start, end):
         if (a[i] > a[i+1]) :
            a[i], a[i+1]= a[i+1], a[i]
            flag=True
      # if no swap takes place array remains sorted
      if (flag==False):
         break
      # otherwise, reset the flag
      flag = False
      # last item is aldready sorted
      end = end-1
      # iteration from right to left
      for i in range(end-1, start-1,-1):
         if (a[i] > a[i+1]):
            a[i], a[i+1] = a[i+1], a[i]
            flag = True
      # first element is already sorted
      start = start+1
# main
a = [2,5,4,3,8,3,4,6]
cocktailSort(a)
print("Sorted array is:")
for i in range(len(a)):
   print (a[i],end=" ")

Đầu ra

Sorted array is:
2 3 3 4 4 5 6 8

Chương trình Python để sắp xếp cocktail

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 để Phân loại Cocktail