Python 插入排序法範例 Insertion Sort

首頁 >> 升級套件 >> Python 插入排序法範例 Insertion Sort


之前介紹過Python 氣泡排序法範例

今天要來介紹另一種排序方法:

Python 插入排序法範例 Insertion Sort

插入排序法將資料分成已排序、未排序,

以由小到大排序為範例,

依序由未排序中的資料中選值,

插入到已排序中的位置,

從選定值的位置反向比較回來,

若在已排序位置中遇到的值大於等於選定的值,

將在已排序位置中遇到的值右移

用說明得很抽象,

直接利用範例程式實際演練一次,

透過 Back 與 Forward 按鈕,

能夠觀察目前選定的值以及現有 list 中的變化,

當今天遇到的值比選定的值大的時候,

就將數列往後移一格,

這就是今天的主題:

Python 插入排序法範例 Insertion Sort

最後附上插入排序法的範例程式碼:

test_data = [12, 9, 100, 87, 200, 5, 300]

for i in range(1, len(test_data)):
    target = test_data[i]
    j = i - 1    
    while j >= 0 and target < test_data[j]:
        test_data[j + 1] = test_data[j]  # 右移        
        j = j - 1
    test_data[j + 1] = target
    print("Round %d : %s" % (i, test_data))


================================
分享與讚美,是我們繼續打拼的原動力.
若文章對您有幫助,望請不吝按讚或分享.
或者對影片有興趣可以訂閱頻道接收通知
================================
YouTube 頻道
FB 粉絲專頁
================================

guangyaw

重點主題: 程式設計: Python , Django,Android 工具與軟體: Open edX,Linux工具,Blender教學 分享各地美景與產品使用心得,遊戲實況,甚至影視戲劇等, 您的訂閱就是頻道成長的原動力。 YouTube 頻道: https://youtube.com/xyawli

You may also like...

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *