十大排序之插入排序 排序演算法 C語言實現

2021-10-06 14:54:04 字數 617 閱讀 8466

插入排序,一般也被稱為直接插入排序。對於少量元素的排序,它是乙個有效的演算法 。插入排序是一種最簡單的排序方法,它的基本思想是將乙個記錄插入到已經排好序的有序表中,從而乙個新的、記錄數增1的有序表。在其實現過程使用雙層迴圈,外層迴圈對除了第乙個元素之外的所有元素,內層迴圈對當前元素前面有序表進行待插入位置查詢,並進行移動。

插入排序的大概思路就是這樣。

首先我們從第二個元素開始找,(預設公升序排列)如果比前面的大,則交換。然後是第三個元素,再和第二個比較,第乙個比較,以此類推。

下面是**實現

#include

void

charu_sort

(int a[

],int n);

int main()

void

charu_sort

(int a[

],int n)}

}

執行結果如圖:

十大排序演算法 插入排序

原理 就好比我們打撲克排的抓牌階段,我們一般拿到一張新的排會與前面的牌進行比較,然後放到合適的位置,即每次抓到牌後預設前面的牌已經全部排好序。將第一待排序序列第乙個元素看做乙個有序序列,把第二個元素到最後乙個元素當成是未排序序列。從頭到尾依次掃瞄未排序序列,將掃瞄到的每個元素插入有序序列的適當位置。...

十大排序 插入排序

插入排序的思想 插入排序的思想有點類似摸撲克牌,首先抽取第一張,當做已經排好序,然後第二張,插入到已經排好序的撲克牌中,依次類推,第三張.直到最後一張。void insertsort int arr,int len arr j tmp tmp arr i 分析 插入排序比氣泡排序快。在陣列基本有序的...

十大排序演算法(二)插入排序

前言 插入排序也叫 插牌法 排序 演算法 1tmp記錄第n個元素,並將第n個元素設為空位 n 1 2依次用前n個元素 和tmp比較 如果tmp比他們小,將他插入此位置,此時空位前移,再重複迴圈之至比到第乙個位置 核心 k標記位置 tmp儲存元素 a j 1 a j 元素前移 時間複雜度 最好o n ...