鸡尾酒排序的 Python 程序
在本文中,我们将学习关于以下给定问题陈述的解决方案。
问题陈述 − 我们得到一个列表,我们需要对给定的列表执行双调排序并显示列表
鸡尾酒排序 − 在这里排序像冒泡排序一样,在两个方向进行迭代。
算法
首先,从左向右遍历数组。在遍历期间,比较相邻项,并基于条件交换值。这样,最大的数字将位于数组的末尾。
现在,从相反的方向遍历数组,并基于条件,交换元素。这样,最小的数字将位于开头。
现在让我们观察以下实现中的解决方案 −
示例
# 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=" ")
输出
Sorted array is: 2 3 3 4 4 5 6 8
所有变量都在本地范围内声明,并且在上图中可以看到它们的引用。
结论
在本文中,我们学习了如何编写鸡尾酒排序的 Python 程序
广告