python版本(未改进,)
def bubble_sort(l):
b_swap = False
for i in range(l.__len__()):
b_swap = False
for j in range(0, l.__len__()-i-1):
if l[j] > l[j+1]:
l[j],l[j+1] = l[j+1],l[j]
b_swap = True
if b_swap is False:
break
添加一个标志位,减少执行次数:
def bubble_sort(l):
for i in range(l.__len__()):
for j in range(0, l.__len__()-i-1):
if l[j] > l[j+1]:
l[j],l[j+1] = l[j+1],l[j]