BubbleSort 冒泡排序

# BubbleSort冒泡排序_Python实现


def bubble_sort(li):
    for i in range(len(li) - 1):  # len为个数, range_len为所有元素下标 range(len-1)为冒泡次数,冒泡次数为元素个数-1
        for j in range(len(li) - i - 1):  # 此处-i 能够避免继续遍历已经排列好的次序
            if li[j] >= li[j + 1]:
                li[j], li[j + 1] = li[j + 1], li[j]
    return li


list = [1, 55, 98984, 65, 165, 356, 54, 3, 645, 74, 64, 32, 15, 22, 7481, 4, 65]

li = bubble_sort(list)

print(li)

  

冒泡排序的特征:
双遍历.
遍历i , 对比i 和 i+1 的值
如果前者大于后者则交换两者位置

第一次遍历后, 最大的排在最后.
下次遍历时候, 总位数减去已排列位数.在剩余的位数中找最大放在最后.

冒泡排序不需要定义变量

猜你喜欢

转载自www.cnblogs.com/jrri/p/12099914.html