以下是插入排序的python函式實現:
def insert_sort(arr):
for j in range(1,len(arr)): #從list第二個元素開始
key=arr[j] #儲存將要進行插入排序的元素數值
index=j #儲存將要進行插入排序的元素的索引
while index>0 and arr[index-1]>key: #執行插入排序的判斷條件
arr[index]=arr[index-1] #將之前排好序的元素向後移
index-=1
arr[index]=key #以上將元素向後移後,將新加元素插入它的正確的位置上
return (arr)
arr=[6,2,7,4,9,1]
arr_sorted=insert_sort(arr)
print(arr_sorted)
python實現插入排序
插入排序 英語 insertion sort 是一種簡單直觀的排序演算法。它的工作原理是通過構建有序序列,對於未排序資料,在已排序序列中從後向前掃瞄,找到相應位置並插入。插入排序在實現上,在從後向前掃瞄過程中,需要反覆把已排序元素逐步向後挪位,為最新元素提供插入空間。插入排序分析 實現 i 1 1 ...
Python實現插入排序
插入排序 insertion sort 是一種比較簡單直觀的排序演算法。插入排序的步驟 從第乙個元素開始,該元素可以認為已經被排序 取出下乙個元素作為待插入物件,在已排序序列中從後向前掃瞄 如果該元素小於前乙個元素,則將兩者調換,再與前乙個元素比較 重複第三步,直到前乙個元素不大於待插元素 將新元素...
Python 實現插入排序
插入排序適合於部分有序序列和小規模的資料。其平均時間複雜度為 o n 2 空間複雜度為 o 1 並且為穩定排序。插入排序將待排序序列分為有序區 記為 s 區 和無序區 記為 r 區 以從小到大的順序為例,每次從 r 區彈出乙個元素 o,要將元素 o 插入到 s 區中恰當位置。從 s 區最右端開始,依...