def bubble_sort(alist):
n = len(alist)
for j in range(n - 1):
for i in range(0, n - 1 - j):
if alist[i] > alist[i + 1]:
alist[i], alist[i + 1] = alist[i + 1], alist[i]
if __name__ == '__main__':
li = [6,5,8,45,46,98]
bubble_sort(li)
print(li)
结果
方法改进:
def bubble_sort(alist):
n = len(alist)
for j in range(n - 1):
count = 0
for i in range(0, n - 1 - j):
if alist[i] > alist[i + 1]:
alist[i], alist[i + 1] = alist[i + 1], alist[i]
count +=1
if 0 == count:
break
if __name__ == '__main__':
li = [6,5,8,45,46,98]
bubble_sort(li)
print(li)