Python插入排序

2021-10-25 06:41:19 字數 532 閱讀 6409

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...