本文執行個體講述了Python實作的直接插入排序算法。分享給大家供大家參考,具體如下:
# -*- coding:utf-8 -*-
'''直接插入的python實作
時間複雜度O(n**2) 空間複雜度O(1) 穩定
思想:先将前兩個元素排序,第三個元素插入前面已排好序列,
後面的元素依次插入之前已經排好序的序列
'''
author = 'Leo Howell'
L = [89,67,56,45,34,23,1]
def direct_insert_sort(numbers):
for i in range(1,len(numbers)):
#temp變量指向尚未排好序元素(從第二個開始)
temp = numbers[i]
#j指向前一個元素的下标
j = i-1
#temp與前一個元素比較,若temp較小則前一進制素後移,j自減,繼續比較
while j>=0 and temp
numbers[j+1]=numbers[j]
j = j-1
#temp所指向元素的最終位置
numbers[j+1] = temp
if __name__=='__main__':
direct_insert_sort(L)
print L
運作結果:

PS:這裡再為大家推薦一款關于排序的示範工具供大家參考:
希望本文所述對大家Python程式設計有所幫助。