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)