算法----(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()