算法——鸡尾酒排序python版

2021/7/15 14:08:00

本文主要是介绍算法——鸡尾酒排序python版,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

python版本

冒泡排序的思想,先左边向右边冒泡,再右边向左边冒泡

def cock_tail__sort(array=[]):
    for i in range(len(array) // 2):
        # 有序标记,每一轮的初始是true
        is_sorted = True
        # 奇数轮,从左向右比较和交换
        for j in range(i, len(array)-i-1):
            if array[j] > array[j+1]:
                array[j], array[j+1] = array[j+1], array[j]
                # 有元素交换,所以不是有序,标记变为false
                is_sorted = False
        if is_sorted:
            break
        # 偶数轮之前,重新标记为true
        is_sorted = True
        # 偶数轮,从右向左比较和交换
        for j in range(len(array)-i-1, i, -1):
            if array[j] < array[j-1]:
                array[j], array[j-1] = array[j-1], array[j]
                # 有元素交换,所以不是有序,标记变为false
                is_sorted = False
        if is_sorted:
            break


my_array = list([3, 4, 14, 1, 5, 6, 7, 8, 1, -1, 0, 9, 11])
cock_tail__sort(my_array)
print(my_array)

# [-1, 0, 1, 1, 3, 4, 5, 6, 7, 8, 9, 11, 14]


这篇关于算法——鸡尾酒排序python版的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程