import random
def bubble_sort(li):
for i in range(len(li)-1): #i代表趟
for j in range(len(li)-i-1): #j列表
if li[j]>li[j+1]:
li[j],li[j+1]=li[j+1],li[j]
data=list(range(5))
random.shuffle(data) #打乱排序
print(data)
bubble_sort(data)
print(data)
# [2, 1, 3, 0, 4]
# [0, 1, 2, 3, 4]
#冒泡排序中执行一趟而没有交换,则列表已经是有序状态,可以直接结束算法。
import random
def bubble_sort(li):
for i in range(len(li)-1): #i代表趟
exchange=False
for j in range(len(li)-i-1): #j列表
if li[j]>li[j+1]:
li[j],li[j+1]=li[j+1],li[j]
exchange=True
if not exchange:
return
data=list(range(5))
print(data)
bubble_sort(data)
print(data)