1. 程式人生 > 程式設計 >python簡單實現插入排序例項程式碼

python簡單實現插入排序例項程式碼

Python中會遇到很多關於排序的問題,今天小編就帶給大家實現插入排序的方法。在Python中插入排序的基本原理類似於摸牌,將摸起來的牌插入到合適位置。具體實現請看本文。

基本原理

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

程式碼:

# -*- 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,7]
  res = insert_sort(pre_list)
  print(res)

易忘點和易錯點

a. 不要忘記列表長度為1的情況。

b. 注意break的使用以及位置,是放在if語句下面,如果放到第二層for迴圈下,就會一直迴圈。

插入排序演算法圖

python簡單實現插入排序例項程式碼

到此這篇關於python簡單實現插入排序例項程式碼的文章就介紹到這了,更多相關python實現插入排序內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!