演算法基礎 排序演算法 插入排序

2021-10-25 05:50:31 字數 827 閱讀 3353

插入排序也是非常容易理解的排序演算法,這篇文章介紹一下排序的主要要點和實現,插入排序的主要做法是外層迴圈中選定插入元素,內層迴圈移動並空出插入位置,返回外層迴圈進行插入。

選擇排序的主要要點如下所示(n個元素,陣列元素從0開始計數):

void

insert_sort

(int

* arr,

int num)

}

加上列印和呼叫的示例**,可以使用如下方式進行驗證

#include

#include

#include

void

insert_sort

(int

* arr,

int num)

}void

print_array

(int

* arr,

int num)

intmain()

insert_sort

(array,n)

;print_array

(array,n)

;free

(array)

; array=

null;}

}

執行結果示例

8

9 8 7 6 5 4 3 2

2 3 4 5 6 7 8 9

基礎排序演算法 插入排序

插入排序,就是如果有乙個已經有序的資料序列,要求在這個已經排好的資料序列中插入乙個數,但要求插入後此資料序列仍然有序,這個時候就要用到一種新的排序方法 插入排序法,插入排序的基本操作就是將乙個資料插入到已經排好序的有序資料中,從而得到乙個新的 個數加一的有序資料,演算法適用於少量資料的排序,時間複雜...

基礎演算法 插入排序

參考書籍 演算法導論 第二版 演算法基礎 插入排序演算法 演算法導論 第二版書中一來就提到了插入排序演算法,以撲克牌摸牌來作為比喻,剛開始按照偽 編寫時,容易忽略乙個問題,即用臨時變數來實現陣列中資料的交換問題。由於該演算法確實是演算法中最容易理解與掌 握的,所以不作過多解釋,以下是 include...

基礎演算法 插入排序

使用插入排序的演算法有直接插入排序和希爾排序。條件 序列a1 a2 an,分別取和為已排序列 從小到大的順序 和待排序列。第一步 取待排序列a2與已排序列中的a1比較 若a1 a2則a2新增到已排序列的末尾即已排序列為 若a1 a2則a2新增到已排序列的首位即已排序列為 那麼未排序列為。第二步 取待...