天天看點

python插入排序_Python實作的直接插入排序算法示例

本文執行個體講述了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

運作結果:

python插入排序_Python實作的直接插入排序算法示例

PS:這裡再為大家推薦一款關于排序的示範工具供大家參考:

希望本文所述對大家Python程式設計有所幫助。