Python算法(一) 數(shù)組冒泡排序(難度等級:easy)

冒泡排序(Bubble Sort)是一種典型的交換排序算法,通過交換數(shù)據(jù)元素的位置進行排序。
算法原理:從無序序列頭部開始,進行兩兩比較,根據(jù)大小交換位置,直到最后將最大(?。┑臄?shù)據(jù)元素交換到了無序隊列的隊尾,從而成為有序序列的一部分;下一次繼續(xù)這個過程,直到所有數(shù)據(jù)元素都排好序。算法的核心在于每次通過兩兩比較交換位置,選出剩余無序序列里最大(?。┑臄?shù)據(jù)元素放到隊尾。
Python代碼1:

#Python算法--冒泡排序1
import random
def main(array):
    for i in range(1,len(array)):
        for j in range(len(array)-i):
            if array[j] > array[j+1]:
                array[j],array[j+1]=array[j+1],array[j]
    print("冒泡排序數(shù)組:",array)
if __name__ == '__main__':
    array = []
    for i in range(15):
        array.append(random.randint(1,1000)) 
    print("隨機生成數(shù)組:",array)
    main(array)

執(zhí)行效果:

python冒泡排序1

Python代碼2:

#Python算法--冒泡排序2
import random
def main(array):
    num = len(array)
    while num > 0:
        for j in range(num-1):
            if array[j] > array[j+1]:
                array[j],array[j+1]=array[j+1],array[j]
        num-=1
    print("冒泡排序數(shù)組:",array)
if __name__ == '__main__':
    array = []
    for i in range(15):
        array.append(random.randint(1,1000)) 
    print("隨機生成數(shù)組:",array)
    main(array)

代碼1和代碼2寫法略有不同,但原理相同,測試執(zhí)行效率相同。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、概述 排序算法概念 在計算機科學(xué)與數(shù)學(xué)中,一個排序算法是將一組雜亂無章的數(shù)據(jù)按一定的規(guī)律順次排列起來的算法。排...
    簡書冷雨閱讀 1,185評論 0 0
  • 讀懂自己的情緒,就能明白,每個人的委屈都是一樣的。一旦你覺得你在乎的人否定你的付出。人就會很難過。所以,感謝這件事...
    玩兒_溫暖閱讀 272評論 0 0
  • 每次上地鐵,車廂里的擴音喇叭里總是播放著不斷重復(fù)的一句話:請將座位留給有需要的人。我總是不明白,什么才是有需要的?...
    格小主閱讀 343評論 0 0
  • 1 生活在上海,慢慢的也就習(xí)慣了在地鐵里聽各種各樣的講話。下班回來在地鐵上的時候,聽到旁邊的兩個女生講話,可能是我...
    深海的魚更好閱讀 262評論 0 1
  • 看了大家都在說接口支付APP體驗多好多好,就下載來玩玩。但是發(fā)現(xiàn)自己的信用卡怎麼綁就是綁不成功,職業(yè)病發(fā)作,就立馬...

友情鏈接更多精彩內(nèi)容