算法基礎之插入排序(三)

算法基礎之插入排序(三)

插入排序介紹:
插入排序(Insertion sort)是一種簡單直觀且穩定的排序算法。如果有一個已經有序的數據序列,要求在這個已經排好的數據序列中插入一個數,但要求插入後此數據序列仍然有序,這個時候就要用到一種新的排序方法——插入排序法,插入排序的基本操作就是將一個數據插入到已經排好序的有序數據中,從而得到一個新的、個數加一的有序數據,算法適用於少量數據的排序,時間複雜度爲O(n^2)。是穩定的排序方法。

插入算法把要排序的數組分成兩部分:第一部分包含了這個數組的所有元素,但將最後一個元素除外(讓數組多一個空間纔有插入的位置),而第二部分就只包含這一個元素(即待插入元素)。在第一部分排序完成後,再將這個最後元素插入到已排好序的第一部分中。

舉例說明:
我有一個數組[3,5,4,7],我要將其變成從大到小,按照插入排序的原理就是
第一輪,用數組中的第二個值與第一個值作比較,5大於3,然後把5放到3前面,這樣就得到了一個新的數列,5,3
第二輪,取第三個數值4與3做比較,4大於3,將4插入3前面;在用4與5作比較,4沒有5大,就保留在原地,反之插入5前面;
第三輪,取第四個數字7與3作比較,7大於3,放在3前面;再用7與4比較,再用7與5比較,將7放到5前面;

代碼塊如下:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章