經(jīng)典排序算法Python實(shí)現(xiàn)----冒泡排序

0h2c8-gwzdz.gif

冒泡排序的原理如下:

  1. 比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。
  2. 對每一對相鄰元素做同樣的工作,從開始第一對到結(jié)尾的最后一對。在這一點(diǎn),最后的元素應(yīng)該會是最大的數(shù)。
  3. 針對所有的元素重復(fù)以上的步驟,除了最后一個。
  4. 持續(xù)每次對越來越少的元素重復(fù)上面的步驟,直到?jīng)]有任何一對數(shù)字需要比較。
import numpy as np

def sorting(rd_array):
   
    # 開始冒泡排序
    # 從i=1開始和i-1比較
    array_count = len(rd_array)
    while array_count>0:
        # 每一次遍歷得到最大的值
        for i in range(1,array_count):
            cur = rd_array[i]
            pre = rd_array[i-1]
            if(cur<pre):
                # 當(dāng)前值小于前一個值,交換位置
                rd_array[i]=pre
                rd_array[i-1]=cur
        array_count -=1
     
# 生成一個隨機(jī)數(shù)組
rd_array = np.random.randint(0,999,size=100)
 # 打印初始結(jié)果
print(rd_array)
sorting(rd_array)
# 打印下排序后的結(jié)果
print(rd_array)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

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