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)