c 排序演算法之插入排序

2021-08-15 13:41:30 字數 750 閱讀 8442

今天在寫pat乙級題的時候第一次聽說插入排序(我一直都是孤陋寡聞,大家諒解^_^)。

插入排序通過對未排序的資料逐個插入合適的位置而完成排序的工作。思路簡單,使用的也比較多~。

插入排序演算法通過比較和插入來實現排序,其排序流程如下:

(1)first,對陣列的前兩個資料進行從小到大排序。

(2)接著將第三個資料與排好的兩個資料進行比較,將第三個資料插入到合適的位置。

(3)然後將第四個資料插入到已排好序的前三個數居中。

(4)不斷重複~知道將最後乙個資料插入合適位置。

(╯▽╰),舉乙個例子:

初始資料:118 101 105 127 112

一次排序:101 118 105 127 112

二次排序:101 105 118 127 112

三次排序:101 105 118 127 112

四次排序:101 105 112 118 127

(~ ̄▽ ̄)~:上**:

#include #define size 10//陣列大小;

using namespace std;

void insertionsort(int *a,int len) {

int i,j,t,h;

for(i=1; i=0&&t程式執行如圖:

排序演算法之插入排序

排序演算法之插入排序 1 插入排序的思想 假設在乙個有序序列中 e 0 e i 1 這i 個元素已經排好序,則當要將第 i 1個元素 e 插入該序列時,只需將第 i 1個元素與從 e 0 開始到e i 1 元素進行比較,當發現第 j個元素 e j 在序列中應在 e 前,且 e j 1 應在e 後時,...

排序演算法之插入排序

排序演算法之插入排序 1 插入排序的思想 假設在乙個有序序列中 e 0 e i 1 這i 個元素已經排好序,則當要將第 i 1個元素 e 插入該序列時,只需將第 i 1個元素與從 e 0 開始到e i 1 元素進行比較,當發現第 j個元素 e j 在序列中應在 e 前,且 e j 1 應在e 後時,...

排序演算法之插入排序

本節主要分析插入排序演算法的直接插入排序和希爾 shell 排序 又稱縮小增量排序 1.直接插入排序 該排序是最簡單的排序方法,其基本思想是 假設待排序的記錄存放在陣列r 1.n 中。初始時,r 1 自成1個有序區,無序區為r 2.n 從i 2起直至i n為止,依次將r i 插入當前的有序區r 1....