python排序算法的實現-冒泡

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

相關文章
相關標籤/搜索