1. 程式人生 > 其它 >python實現插入排序

python實現插入排序

技術標籤:LeetCodepython演算法leetcode

插入排序

基本原理

類似於摸牌,將摸起來的牌插入到合適位置。

程式碼

# -*- 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迴圈下,就會一直迴圈。