將第i條記錄插入前面i-1條已排序好的記錄中:
關(guān)鍵字比較
移動記錄
# 直接插入排序算法
def InsertSort(myList):
# 獲取列表長度
length = len(myList)
for i in range(1,length):
# 設(shè)置當(dāng)前值前一個元素的標(biāo)識
j = i - 1
# 如果當(dāng)前值小于前一個元素,將當(dāng)前值作為一個臨時變量存儲,將前一個元素后移一位
if (myList[i] < myList[j]):
temp = myList[i]
myList[i] = myList[j]
# 繼續(xù)往前尋找驱闷,如果有比臨時變量大的數(shù)字帚豪,則后移一位,直到找到比臨時變量小的元素或者到達(dá)列表的第一個元素
j = j - 1
while j >= 0 and myList[j] > temp:
myList[j + 1] = myList[j]
j = j -1
# 將臨時變量賦值到合適位置
myList[j + 1] = temp
myList = [49,38,65,97,76,13,27,49]
InsertSort(myList)
print(myList)