大家用的冒泡排序方法,大多是两个for循环搞定,其实针对一些序列不太乱的列表,这种方法效率会慢一些,这里写一种效率高一些的冒泡法。
引入一个变量,在一次都没有比较的情况下跳出循环。
L = [8,2,50,3,5,4,3,2,5,6,7,7,777,6435,3546,7]
count=1
while count:
count=len(L)-1
for i in range(0,count):
if L[i]>L[i+1]:
L[i],L[i+1]=L[i+1],L[i]
else:
count=count-1
print(L)