【Python 3 冒泡排序】

算法講解


冒泡排序是一種簡單直觀的排序算法(算法簡單,效率低)。它重複地走訪過要排序的數列,一次比較兩個元素,若是他們的順序錯誤就把他們交換過來。走訪數列的工做是重複地進行直到沒有再須要交換,也就是說該數列已經排序完成。這個算法的名字由來是由於越小的元素會經由交換慢慢"浮"到數列的頂端。
算法


算法代碼實現


Python 3 代碼實現以下,隨機生成20個數,保存到列表變量list1中,經過冒泡排序法進行排序,而後輸出排序結果:
數組
























from random import randrangeimport datetimedef Bubble_sort():    list1 = []    while len(list1) < 20:  # 範圍內隨機取20個數值        list1.append(randrange(0, 1000, 3))
   print('排序前數組:',list1,'\n')    # 經過兩個for循環實現冒泡排序算法,內循環一次實現找出一個最大值    for i in range(20):        for j in range(19 - i):            if list1[j] > list1[j + 1]:  # 遇到較小值先後交換                list1[j], list1[j + 1] = list1[j + 1], list1[j]
    print('冒泡排序結果:')    for j in range(1,len(list1)):        print(list1[j])
start = datetime.datetime.now()#調用排序函數Bubble_sort()end = datetime.datetime.now()print ('冒泡排序運行所用時間:',end-start)

代碼運行結果以下:app

圖片

相關文章
相關標籤/搜索