原理
插入排序(InsertionSort)是一種簡(jiǎn)單直觀的排序算法。它的工作原理是通過(guò)構(gòu)建有序序列,對(duì)于未排序數(shù)據(jù),在已排序序列中從后向前掃描,找到相應(yīng)位置并插入。
步驟
從第一個(gè)元素開(kāi)始,該元素可以認(rèn)為已經(jīng)被排序
取出下一個(gè)元素,在已經(jīng)排序的元素序列中從后向前掃描
如果該元素(已排序)大于新元素,將該元素移到下一位置
重復(fù)步驟3,直到找到已排序的元素小于或者等于新元素的位置
將新元素插入到該位置后
重復(fù)步驟2~5
代碼
definsert_sort(list):
n=len(list)
foriinrange(1,n):
#后一個(gè)元素和前一個(gè)元素比較
#如果比前一個(gè)小
iflist[i] #將這個(gè)數(shù)取出 temp=list[i] #保存下標(biāo) index=i #從后往前依次比較每個(gè)元素 forjinrange(i-1,-1,-1): #和比取出元素大的元素交換 iflist[j]>temp: list[j+1]=list[j] index=j else: break #插入元素 list[index]=temp returnlist 以上內(nèi)容為大家介紹了python插入排序,希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。