Swift經典排序算法-插入排序法

插入排序

插入排序的代碼實現雖然沒有冒泡排序和選擇排序那麼簡單粗暴,但它的原理應該是最容易理解的了,因爲只要打過撲克牌的人都應該能夠秒懂。插入排序是一種最簡單直觀的排序算法,它的工作原理是通過構建有序序列,對於未排序數據,在已排序序列中從後向前掃描,找到相應位置並插入。

插入排序和冒泡排序一樣,也有一種優化算法,叫做拆半插入。

  1. 算法步驟

1⃣️將第一待排序序列第一個元素看做一個有序序列,把第二個元素到最後一個元素當成是未排序序列。

2⃣️從頭到尾依次掃描未排序序列,將掃描到的每個元素插入有序序列的適當位置。(如果待插入的元素與有序序列中的某個元素相等,則將待插入元素插入到相等元素的後面。)

  1. 動圖演示在這裏插入圖片描述
  2. 代碼實現
    在這裏插入圖片描述

更多算法知識,關注微信公衆號:
在這裏插入圖片描述