冒泡排序 在Python中的实现

1、比较相邻的元素。如果第一个比第二个大(小),就交换他们两个。
2、对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大(小)的数。
3、针对所有的元素重复以上的步骤,除了最后已经选出的元素(有序)。
4、持续每次对越来越少的元素(无序元素)重复上面的步骤,直到没有任何一对数字需要比较,则序列最终有序。

冒泡排序图例

def bubble_sort(alist):
    for i in range(len(alist)-1):   # 所需排序趟数
        for j in range(len(alist)-i-1):  # 需要比较的次数
            if alist[j] > alist[j+1]:     # 升序  降序反之
                alist[j], alist[j+1] = alist[j+1], alist[j]   # 交换位置
    print(alist)


list1 = [3,6,4,2,11,10,5]
bubble_sort(list1)

猜你喜欢

转载自blog.csdn.net/wwg413411142/article/details/81739422