Python排序搜索基本算法之插入排序?qū)嵗治?/h1>
更新時間:2017年12月11日 10:53:46 作者:littlethunder
這篇文章主要介紹了Python排序搜索基本算法之插入排序,結(jié)合實例形式分析了基于比較的插入排序和基于交換的插入排序?qū)崿F(xiàn)技巧,需要的朋友可以參考下
本文實例講述了Python排序搜索基本算法之插入排序。分享給大家供大家參考,具體如下:
插入排序生活中非常常見,打撲克的時候人的本能就在用插入排序:把抽到的一張插入到手上牌的正確位置上。有兩種插入排序方法,一種基于比較,另一種基于交換。代碼如下:
1.基于比較的插入排序:
# coding:utf-8
def 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]=tmp
if __name__=='__main__':
print("腳本之家測試結(jié)果:")
seq=[8,6,4,9,7,3,2,-4,0,-100,99]
insertionSort(seq)
print(seq)
運行結(jié)果:

2.基于交換的插入排序:
# coding:utf-8
def 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:
break
if __name__=='__main__':
print("腳本之家測試結(jié)果:")
seq=[3,5,9,8,4,2,1,0,-6,12,-8]
insertionSort2(seq)
print(seq)
運行結(jié)果:

PS:這里再為大家推薦一款關(guān)于排序的演示工具供大家參考:
在線動畫演示插入/選擇/冒泡/歸并/希爾/快速排序算法過程工具:
http://tools.jb51.net/aideddesign/paixu_ys
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python加密解密算法與技巧總結(jié)》、《Python編碼操作技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進階經(jīng)典教程》
希望本文所述對大家Python程序設(shè)計有所幫助。
相關(guān)文章
-
selenium+python自動化測試環(huán)境搭建步驟
在本文中小編給大家分享了關(guān)于selenium+python自動化測試環(huán)境搭建的相關(guān)步驟以及知識點內(nèi)容,需要的朋友們參考學(xué)習(xí)下。 2019-06-06
最新評論
本文實例講述了Python排序搜索基本算法之插入排序。分享給大家供大家參考,具體如下:
插入排序生活中非常常見,打撲克的時候人的本能就在用插入排序:把抽到的一張插入到手上牌的正確位置上。有兩種插入排序方法,一種基于比較,另一種基于交換。代碼如下:
1.基于比較的插入排序:
# coding:utf-8 def 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]=tmp if __name__=='__main__': print("腳本之家測試結(jié)果:") seq=[8,6,4,9,7,3,2,-4,0,-100,99] insertionSort(seq) print(seq)
運行結(jié)果:
2.基于交換的插入排序:
# coding:utf-8 def 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: break if __name__=='__main__': print("腳本之家測試結(jié)果:") seq=[3,5,9,8,4,2,1,0,-6,12,-8] insertionSort2(seq) print(seq)
運行結(jié)果:
PS:這里再為大家推薦一款關(guān)于排序的演示工具供大家參考:
在線動畫演示插入/選擇/冒泡/歸并/希爾/快速排序算法過程工具:
http://tools.jb51.net/aideddesign/paixu_ys
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python加密解密算法與技巧總結(jié)》、《Python編碼操作技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進階經(jīng)典教程》
希望本文所述對大家Python程序設(shè)計有所幫助。
相關(guān)文章
selenium+python自動化測試環(huán)境搭建步驟
在本文中小編給大家分享了關(guān)于selenium+python自動化測試環(huán)境搭建的相關(guān)步驟以及知識點內(nèi)容,需要的朋友們參考學(xué)習(xí)下。2019-06-06