插入排序演算法詳解及實現

2021-08-16 20:10:55 字數 794 閱讀 9639

插入排序相對氣泡排序而言是一種較為快捷方便的排序演算法。

氣泡排序:

插入排序原理很簡單,講一組資料分成兩組,我分別將其稱為有序組與待插入組。每次從待插入組中取出乙個元素,與有序組的元素進行比較,並找到合適的位置,將該元素插到有序組當中。就這樣,每次插入乙個元素,有序組增加,待插入組減少。直到待插入組元素個數為0。當然,插入過程中涉及到了元素的移動。

為了排序方便,我們一般將資料第乙個元素視為有序組,其他均為待插入組。

下面以公升序為例進行一次**:

**為:

[cpp]view plain

copy

#include

void

insertionsort(

int*num,

intn)   

num[j+1] = tmp;//找到合適位置,將元素插入。 

}  }  

intmain()   

;  insertionsort(num,8);   

/*這個函式必須知道元素的個數,所以將元素個數傳入。

有心者可以在函式內部用sizeof求出元素個數 */

for(i=0;i<8;i++)  

return

0;  

}  執行結果:

插入排序演算法詳解及實現

插入排序相對氣泡排序而言是一種較為快捷方便的排序演算法。氣泡排序 插入排序原理很簡單,講一組資料分成兩組,我分別將其稱為有序組與待插入組。每次從待插入組中取出乙個元素,與有序組的元素進行比較,並找到合適的位置,將該元素插到有序組當中。就這樣,每次插入乙個元素,有序組增加,待插入組減少。直到待插入組元...

排序演算法C 實現之插入排序詳解

將一組無序陣列變為有序 將陣列分為兩部分,有序的部分和無序的部分。每次從無序的部分中選擇乙個元素,將該元素插入有序部分,多次插入後,有序部分的元素越來越多,無序部分的元素越來越少,直到無序部分元素為0。可以看見,每次迭代時,有序部分元素數量加一,無序部分元素數量減一。若有n個元素,那麼要迭代n次。無...

插入排序演算法實現

插入排序在眾多排序演算法中是一種穩定的排序方法,其平均與最差時間複雜度均為o n2 空間複雜度為o 1 主要思路 每一次排序都將待排序元素的元素,從已排序的元素的左邊 右邊 開始,依次往右邊 左邊 比較,滿足比較條件的話就交換元素的位置。原理很簡單,先看 include using namespac...