插入排序
基本原理
類似于摸牌,將摸起來的牌插入到合適位置,
代碼
# -*- coding: utf-8 -*-
'''
插入排序:
類似于摸牌,從牌堆中摸一張牌,和手中現有手牌比較,若大則放右邊,小放左邊,
'''
def insert_sort(input_list):
if len(input_list)<=1:
return input_list
for right in range(1,len(input_list)): # 開始從牌堆中摸牌
val = input_list[right] # 當前摸牌的值
for left in range(0,right): # 回圈和手中牌進行比較
if val <= input_list[left]: # 若<最左邊的牌了
input_list[left+1:right+1]=input_list[left:right]
input_list[left]=val
break
return input_list
if __name__ == '__main__':
pre_list = [1,6,3,3,7]
res = insert_sort(pre_list)
print(res)
易忘點和易錯點
a. 不要忘記串列長度為1的情況,
b. 注意break的使用以及位置,是放在if陳述句下面,如果放到第二層for回圈下,就會一直回圈,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/234383.html
標籤:python
