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
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