#列表每两个相邻的数,如果前面的比后面的大,那么就交换这两个数
# shuffle() 方法将序列的所有元素随机排序。
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)
原文:http://www.cnblogs.com/xuehuahongmei/p/6523361.html