'''
冒泡排序算法的运作如下:
比较相邻的元素。如果第一个比第二个大(升序),就交换他们两个。
对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。最后的元素会是最大的数。
针对所有的元素重复以上的步骤,除了最后一个。
持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
'''
def bubble_sort(lst):
for j in range(len(lst)-1,1,-1):
# j 为比较的次数,不断减少。每进行一次排序,最后面的 "最大的数" 就不断增加,所以需要排序的次数就越来越少
for i in range(j):
# 不包括j
if lst[i] > lst[i+1]:#如果前面的元素大于后面的元素
# 不断将最大的元素向后移
lst[i],lst[i+1] = lst[i+1],lst[i]
li = [54,26,93,17,77,31,44,55,20]
bubble_sort(li)
print(li)
2020-05-07