def bubble_sort(List):
pos = len(List)-1
#优化1,将每一次循环终点定位上一次交换的地点
#这样不用对那些后面已经排好顺序的数再进行排序
for i in range(len(List)-1):
flag=0
#优化二,如果提前完成排序便可退出
for j in range(pos):
if(List[j]>List[j+1]):
List[j],List[j+1]=List[j+1],List[j]
flag=1
where=j
pos=where
print(List)
if(flag==0):
return
a=[2,3,1,5,6,123,12,4,324,23]
bubble_sort(a)
print(a)
结果:
[2, 1, 3, 5, 6, 12, 4, 123, 23, 324]
[1, 2, 3, 5, 6, 4, 12, 23, 123, 324]
[1, 2, 3, 5, 4, 6, 12, 23, 123, 324]
[1, 2, 3, 4, 5, 6, 12, 23, 123, 324]
[1, 2, 3, 4, 5, 6, 12, 23, 123, 324]
[1, 2, 3, 4, 5, 6, 12, 23, 123, 324]