91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python中如何實現冒泡排序

發布時間:2021-07-02 16:11:22 來源:億速云 閱讀:143 作者:Leah 欄目:大數據

Python中如何實現冒泡排序,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。



冒泡排序是什么

冒泡排序(Bubble Sort)也是一種簡單直觀的排序算法。它重復地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。

走訪數列的工作是重復地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個算法的名字由來是因為越小的元素會經由交換慢慢“浮”到數列的頂端。

作為最簡單的排序算法之一,冒泡排序給我的感覺就像 Abandon 在單詞書里出現的感覺一樣,每次都在第一頁第一位,所以最熟悉。

冒泡排序還有一種優化算法,就是立一個 flag,當在一趟序列遍歷中元素沒有發生交換,則證明該序列已經有序。但這種優化對于提升性能來說并沒有什么太大作用。


算法步驟

Step1:比較相鄰的元素。如果第一個比第二個大,就交換他們兩個的位置。

Step2:對每一對相鄰元素做同樣的工作,從開始第一對到結尾的最后一對。這步做完后,最大的數就是最后一個元素。

Step3:針對所有的元素重復以上的步驟,除了最后一個以外(因為它已經是排序完成后的)。

Step4:持續每次對越來越少的元素重復上面的步驟,直到沒有任何一對數字需要比較。



代碼實現

import timedef waste_time(func): #計算方法執行時長的裝飾器    def function(*args,**kwargs):        start_time=time.time()        result=func(*args,**kwargs)        end_time=time.time()        spend=end_time-start_time        print("函數%s 總共耗時%.3f秒:"%(func.__name__,spend))        return result    return function
@waste_timedef bubbleSort(alist): #傳入一個列表,如果是有序的,則只需要檢測一輪,查看是否進行交換,如果沒有進行交換,說明是有序列表則直接退出循環    n=len(alist)    for i in range(n-1):        count = 0 #用于標記是否有交換的情況        for j in range(n-1-i):            if(alist[j] > alist[j+1]):                alist[j],alist[j+1]=alist[j+1],alist[j]                count+=1        #判斷count是否等于0,如果是0的話表示沒有交換        if(count==0):            break
if __name__ == '__main__':    alist=[9,20,5,88,66,77,30] #無序列表    print("the init list is:",alist)    bubbleSort(alist)    print("the sorted list is:",alist)    blist=[5, 9, 20, 30, 66, 77, 88] #有序列表    bubbleSort(blist)    print(blist)

看完上述內容,你們掌握Python中如何實現冒泡排序的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

孟津县| 客服| 宜昌市| 宝坻区| 仁化县| 钟山县| 晋城| 志丹县| 兴文县| 兖州市| 祁阳县| 逊克县| 西和县| 宜章县| 读书| 武冈市| 金阳县| 无极县| 淄博市| 荣昌县| 达尔| 万全县| 长汀县| 汝州市| 临颍县| 莱西市| 泰兴市| 连城县| 翁牛特旗| 绥棱县| 荃湾区| 宣威市| 辉县市| 白城市| 榆社县| 嘉黎县| 祁东县| 九龙城区| 浦北县| 探索| 内乡县|