數據結構-6.簡單算法python實現:插入排序insert_sort

python3.5  

最優時間複雜度:n

最壞時間複雜度:n²

穩定性:穩定

1.插入排序思想:

將一個數組,把第一個元素當做一個有序數組,後面的數組當做無序數組,從第二個元素開始,與第一個元素進行比較,若小於第一個元素,則交換位置,從有序數組的右往左比較,遇到小於的就進行交換.

 

2.python代碼實現

def insert_sort(alist):
    # 從第二個位置下標爲1的位置開始插入
    for i in range(1,len(alist)):
        for j in range(i,0,-1):
            if alist[j]<alist[j-1]:
                alist[j],alist[j-1]=alist[j-1],alist[j]
    return alist
if __name__=='__main__':
    li = [17, 20, 31, 26, 44, 54, 55, 77, 93]

    value=insert_sort(li)
    print(value)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章