Fork me on Gitee

算法----(2)鸡尾酒排序

鸡尾酒排序,也叫定向冒泡排序,是冒泡排序的一种改进。此算法与冒泡排序的不同处在于从低到高然后从高到低,而冒泡排序则仅从低到高去比较序列里的每个元素。他可以得到比冒泡排序稍微好一点的效能。

python代码:

 

 1 def bubble_sort_pro(num_array):
 2     flag = True
 3     for i in range(len(num_array)//2):
 4         if flag:
 5             flag = False
 6             #将最大值排到队尾
 7             for j in range(i, len(num_array)-i-1):
 8                 if num_array[j]>num_array[j+1]:
 9                     num_array[j], num_array[j+1] = num_array[j+1], num_array[j]
10                     flag = True
11             #将最小值排到队首
12             for j in range(len(num_array)-1-i, i, -1):
13                 if num_array[j] < num_array[j-1]:
14                     num_array[j], num_array[j-1] = num_array[j-1], num_array[j]
15                     flag = True
16         else:
17             break
18 
19 
20 def main():
21     a = [6, 5, 3, 1, 8, 7, 2, 4]
22 
23     bubble_sort_pro(a)
24     for i in range(len(a)):
25         print(a[i])
26 
27 
28 if __name__ == '__main__':
29     main()

 

posted @ 2018-07-21 20:43  MARK+  阅读(278)  评论(0编辑  收藏  举报