def bubble_sort(arr):
n = len(arr)
# j表示每次遍历需要比较的次数,是逐渐减小的
for j in range(n - 1):
count = 0 # 用于记录一次比较过程中交换了多少次数据、交换0次、已经排序完成!!!
# i表示一次比较要比较多少次
for i in range(0, n - 1 - j):
if arr[i] > arr[i + 1]:
arr[i], arr[i + 1] = arr[i + 1], arr[i]
count += 1
if 0 == count:
return
if __name__ == "__main__":
arr = [33, 12, 39, 17, 25, 31, 51, 64, 3]
bubble_sort(arr)
print(arr)
结果:
[3, 12, 17, 25, 31, 33, 39, 51, 64]