進階:python3實現 插入排序


一圖勝千言,插入排序的核心邏輯如下:

  • 將數據分成兩半,前一半是已排好序的,后一半是待排序的
  • 每次取后一半中的第一個數,在已排序的一半中,逆序依次比較,找到要插入的位置
  • 記錄插入的位置,在最后判斷是否需要插入即可

實現代碼:


def insertionSort(a:list):
    for i in range(1,len(a)):
        value = a[i]
        insert_index = -1

        for j in range(i-1,-1,-1):
            if  value< a[j]:
                a[j+1] = a[j]
                insert_index = j
            else:
                break
        if insert_index !=-1:
            a[insert_index] = value
    
    return a

思考:

為什么插入排序比冒泡排序更常用

關鍵在於賦值操作,冒泡排序需要3次,而插入排序只需要1次


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM