li =
[3,2,4,1,5,7,9,6,8]
def sort(li):
for i in range(1,len(li)):
temp=li[i]
#因為是插入排序,手中要現有乙個數字,然後在抽取乙個數字與手中的數字比較,
j=i-1 #因為首先抽取的是第二個數字,所以要先於第乙個數字比較,也就是下標減一
while j>=0 and temp=0時說明前面還有數字,所以繼續比較,當手裡的數字小於與之比較的數值時,還要繼續比較,因為可能前面的數字有比手裡的數字更小的數字
li[j+1]
=li[j]
#找到符合條件的之後就把比手中數字大的數字向後移動一位
j-=1#下標向前移動
li[j+1]
=temp#當j<0或者temp>=li[j]時,退出前面的迴圈,把手中的數字放入原位置不動
print(li)
print(li)
sort(li)
python 插入排序
coding utf 8 def insertsort list list 4,1,9,13,34,26,10,7,4 m len list 元素個數 for i in range m 對每乙個元素 min i 當前元素索引 for j in range i 1,m 遍歷後面的所有元素,尋找最小的值...
Python 插入排序
本博文示例為自己指定一定範圍,生成指定個數的隨機數,再對生成的隨機數進行排序,並記錄排序所花時間。生成指定範圍 指定個數隨機數 import random def generate point range gene size,min val,max val num list i 0 while i ...
Python 插入排序
把第乙個數固定,然後將其它數插入,小的放前面。備份這個後續插入的數,然後將這個數和前面的數作比較,比前面的數小,就將前面的數後移。這樣相當於前面的數就挪出乙個空,如果再往前沒有比它小的了,就把開始備份好的數填進去。插入排序,穩定,平均和複雜都是o n2 o n 2 def insert sort l...