排序算法之插入排序

插入排序 InsertionSort

介紹:

插入排序的工作原理是,對於每個未排序數據,在已排序序列中從後向前掃描,找到相應位置並插入。

步驟:

  1. 從第一個元素開始,該元素可以認爲已經被排序
  2. 取出下一個元素,在已經排序的元素序列中從後向前掃描
  3. 如果被掃描的元素(已排序)大於新元素,將該元素後移一位
  4. 重複步驟3,直到找到已排序的元素小於或者等於新元素的位置
  5. 將新元素插入到該位置後
  6. 重複步驟2~5

排序演示:

源代碼:(python實現)

def insert_sort(ary):
n = len(ary)
for i in range(1,n):
if ary[i] < ary[i-1]:
temp = ary[i]
index = i #待插入的下標
for j in range(i-1,-1,-1): #從i-1 循環到 0 (包括0)
if ary[j] > temp :
ary[j+1] = ary[j]
index = j #記錄待插入下標
else :
break
ary[index] = temp
return ary

轉載

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