Python實現插入排序

2021-09-24 12:20:26 字數 974 閱讀 1835

對於給定的一組記錄,初始時假設第乙個記錄自成乙個有序序列,其餘的記錄為無序序列;接著從第二個記錄開始,按照記錄的大小依次將當前處理的記錄插入到其之前的有序序列中,直至最後乙個記錄插入到有序序列中為止。以陣列{38,65,97,76,13,27,49}為例(假設要求為公升序排列),直接插入具體步驟如下:

第一次插入38以後:[38] 65 97 76 13 27 49

第二次插入65以後:[38 65] 97 76 13 27 49]

第三次插入97以後:[38 65 97] 76 13 27 49]

第四次插入76以後:[38 65 76 97] 13 27 49

第五次插入13以後:[13 38 65 76 97] 27 49

第六次插入27以後:[13 27 38 65 76 97] 49

第七次插入49以後:[13 27 38 49 65 76 97]

示例**如下

#encoding:utf-8

def insert_sort(lists):

# 選擇排序

count = len(lists)

for i in range(1,count):

key = lists[i]

j=i-1

while j >=0:

if lists[j]>key:

lists[j+1]=lists[j]

lists[j]=key

j = j-1

return lists

if __name__ == "__main__":

lists = [3,4,2,8,9,5,1]

print("排序前序列為:"),

for i in lists:

print(i),

print("\n排序後結果為:"),

for i in insert_sort(lists):

print(i),

插入排序 python實現

以下是插入排序的python函式實現 def insert sort arr for j in range 1,len arr 從list第二個元素開始 key arr j 儲存將要進行插入排序的元素數值 index j 儲存將要進行插入排序的元素的索引 while index 0 and arr ...

python實現插入排序

插入排序 英語 insertion sort 是一種簡單直觀的排序演算法。它的工作原理是通過構建有序序列,對於未排序資料,在已排序序列中從後向前掃瞄,找到相應位置並插入。插入排序在實現上,在從後向前掃瞄過程中,需要反覆把已排序元素逐步向後挪位,為最新元素提供插入空間。插入排序分析 實現 i 1 1 ...

Python實現插入排序

插入排序 insertion sort 是一種比較簡單直觀的排序演算法。插入排序的步驟 從第乙個元素開始,該元素可以認為已經被排序 取出下乙個元素作為待插入物件,在已排序序列中從後向前掃瞄 如果該元素小於前乙個元素,則將兩者調換,再與前乙個元素比較 重複第三步,直到前乙個元素不大於待插元素 將新元素...