本文實例講述了Python排序搜索基本算法之插入排序。分享給大家供大家參考,具體如下:
插入排序生活中非常常見,打撲克的時候人的本能就在用插入排序:把抽到的一張插入到手上牌的正確位置上。有兩種插入排序方法,一種基于比較,另一種基于交換。代碼如下:
1.基于比較的插入排序:
# coding:utf-8def insertionSort(seq): length=len(seq) for i in range(1,length): tmp=seq[i] for j in range(i,0,-1): if seq[j-1]>tmp: seq[j]=seq[j-1] else: j+=1 break seq[j-1]=tmpif __name__=='__main__': print("武林站長站測試結果:") seq=[8,6,4,9,7,3,2,-4,0,-100,99] insertionSort(seq) print(seq)運行結果:

2.基于交換的插入排序:
# coding:utf-8def insertionSort2(seq): length=len(seq) for i in range(1,length): for j in range(i,0,-1): if seq[j]<seq[j-1]: seq[j],seq[j-1]=seq[j-1],seq[j] else: breakif __name__=='__main__': print("武林站長站測試結果:") seq=[3,5,9,8,4,2,1,0,-6,12,-8] insertionSort2(seq) print(seq)運行結果:

PS:這里再為大家推薦一款關于排序的演示工具供大家參考:
在線動畫演示插入/選擇/冒泡/歸并/希爾/快速排序算法過程工具:
http://tools.jb51.net/aideddesign/paixu_ys
更多關于Python相關內容感興趣的讀者可查看本站專題:《Python數據結構與算法教程》、《Python加密解密算法與技巧總結》、《Python編碼操作技巧總結》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》及《Python入門與進階經典教程》
希望本文所述對大家Python程序設計有所幫助。
新聞熱點
疑難解答