python插入排序_python 插入排序,选择排序
插入排序:
def insert_sort(lst):
for i in range(1,len(lst)):
x=lst[i] #x是一個臨時變量,表示當前輪到的數(shù)字
j=i #臨時變量 j ,為后續(xù)的排序提供方便
while j>0 and lst[j-1]>x: #當j 小于0,說明已經(jīng)數(shù)字比較到了第一位,說明該為數(shù)字最小。 and 后面這個表示如果前一位數(shù)字大于該數(shù)字,則繼續(xù)比較
lst[j]=lst[j-1] #當滿足while循環(huán)條件時,將 lst[j-1]的值賦給lst[j],相當于將j-1位的數(shù)值后移
j-=1 #j的數(shù)值-1,繼續(xù)將前一位的值,和x比較,如果比x大,執(zhí)行上一行的操作,如果比x小,則說明x的值在當前位置正好滿足排序規(guī)則。
lst[j]=x #x已經(jīng)到達正確的位置,將x原來的值賦值給lst[j]
print(lst)
insert_sort([5,3,7,8,2,12,33,52,14])
選擇排序:
def insert_sort(lst):
for i in range(len(lst)-1):
k=i
for j in range(i,len(lst)):
if lst[j]
k=j
if i!=k:
lst[k],lst[i]=lst[i],lst[k]
print(lst)
insert_sort([5,3,7,8,2,12,33,52,14])
#實現(xiàn)方法:選出列表中最小的數(shù),然后將 i 位置的數(shù)和當前最小的數(shù)互換。
#舉例:第一次2和5換:[2,3,7,8,5,12,33,52,14]
第二次:不變,第三次,[2,3,5,8,7,12,33,52,14]
最后一步步得到最終結(jié)果
總結(jié)
以上是生活随笔為你收集整理的python插入排序_python 插入排序,选择排序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 百合茶的功效与作用、禁忌和食用方法
- 下一篇: ironpython3发布时间_.NET