#列表每两个相邻的数,如果前面的比后面的大,那么就交换这两个数 # shuffle() 方法将序列的所有元素随机排序。
import randomdef 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 randomdef 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: returndata=list(range(5))print(data)bubble_sort(data)print(data)