1.算法描述:python
(1)共循環 n-1 次算法
(2)每次循環中,若是 前面的數大於後面的數,就交換spa
(3)設置一個標籤,若是上次沒有交換,就說明這個是已經好了的。code
2.代碼blog
#!/usr/bin/python # -*- coding: utf-8 -*- def bubble(l): flag = True for i in range(len(l)-1, 0, -1): if flag: flag = False for j in range(i): if l[j] > l[j + 1]: l[j], l[j+1] = l[j+1], l[j] flag = True else: break print l li = [21,44,2,45,33,4,3,67] bubble(li)
結果:[2, 3, 4, 21, 33, 44, 45, 67]utf-8
3.時間複雜度:n(n-1)/2class