# 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 的值
如果前者大于后者则交换两者位置
第一次遍历后, 最大的排在最后.
下次遍历时候, 总位数减去已排列位数.在剩余的位数中找最大放在最后.
冒泡排序不需要定义变量