插入排序
插入排序(英語:Insertion Sort)是一種簡單直觀的排序算法。它的工作原理是通過構建有序序列,對於未排序數據,在已排序序列中從後向前掃描,找到相應位置並插入。插入排序在實現上,在從後向前掃描過程中,需要反覆把已排序元素逐步向後挪位,爲最新元素提供插入空間。
插入排序算法實現
def insert_sort(alist):
#從第二個位置,即下標爲1的元素開始向前插入
for i in range(1,len(alist)):
#從第i個元素開始向前比較,如果小於前一個元素,則交換位置
for j in range(i,0,-1):
if alist[j] < alist[j-1]:
alist[j],alist[j-1] = alist[j-1],alist[j]
alist = [23,5,6,78,41,65,12,32,64,23]
insert_sort(alist)
print(alist)
程序運行結果:
插入排序算法相對來說比較穩定,邏輯清晰明瞭,代碼簡潔。