l = [1, 4, 5, 2, 9, 7, 3]for i in range(len(l)-1): for j in range(len(l)-1-i): #我们每循环一次都会将最大的数推到最右边,所以需要将最右边排好的数拿走 if l[j] > l[j+1]:#前一个数与后一个数依次比较,直到将最大的数推到右边 l[j], l[j+1] = l[j+1], l[j] #print(l)print(l)
import randomdef bubble_sort(li): for i in range(len(li)-1): # i表示第i趟 for j in range(len(li)-i-1): if li[j] > li[j+1]: li[j], li[j+1] = li[j+1], li[j]def bubble_sort_2(li): for i in range(len(li)-1): # i表示第i趟 exchange = False for j in range(len(li)-i-1): if li[j] > li[j+1]: li[j], li[j+1] = li[j+1], li[j] exchange = True if not exchange: breakli = list(range(10000))#random.shuffle(li)bubble_sort(li)