插入排序 python實現

2021-08-07 20:05:29 字數 585 閱讀 4241

以下是插入排序的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 區最右端開始,依...