排序演算法之插入排序

2021-09-14 03:52:05 字數 545 閱讀 6379

插入排序假設首元素已經排好序了,依次取下乙個元素(key),和前乙個元素進行比較;當前乙個元素比這個key值大,則將前乙個元素向後移動一位,直到key值放在它的位置上。重複這個行為,直到獲得到乙個已經排好序的陣列結束。

// 非遞迴

void

insert_process(int set, int length)

else

break;

} set[idx] = temp;

start++; }}

void

inner_sort(int set, int length)

// 遞迴

void

recursion_insert_process(int set, int length)

else

break;

} set[idx] = temp;

}void

inner_sort_recursion(int set, int length)

插入排序的時間複雜度為o(n²)。

排序演算法之插入排序

排序演算法之插入排序 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....