1. 程式人生 > >python 冒泡演算法

python 冒泡演算法

python 冒泡演算法

import random
import time
def bobbling(list):
    # 記錄開始的時間
    start=time.time()
    # 確定長度
    n=len(list)
    # 外迴圈,提供無序部分的n值
    while n>1:
        swap=False # 定義一個判斷,證明最後一組比較是否有序
        d=0 #記錄調換次數
        # 內迴圈,把大數移動到最後邊
        for i in range(n-1):
            if list
[i]>list[i+1]: list[i] , list[i+1] = list[i+1] , list[i] d+=1 # 如果最後一個比較成立則改變記錄 if i==n-2: swap=True # 如果調換次數為零,則該列表為有序 if d==0: break # 如果成立則可以確定兩個有序元素 if not
swap: n-=2 else: n-=1 # 記錄結束時間 end=time.time() T=end-start return T if __name__=="__main__": l=[] for i in range(1000): l.append(random.randint(0,99999)) T=bobbling(l) print(c) x=bobbling(l) print(x)