C 實現插入排序演算法

2021-09-19 12:25:49 字數 564 閱讀 4027

插入排序演算法的原理:從前往後依次把元素插入到相應的位置。比插入元素大的向後移乙個單位,直到找到比其小或者相等的元素才停止迴圈,並把元素插入到當前位置。

時間複雜度:o(n^2)。以下為實現**:

#include using namespace std;

void sort(int *arr,int length)    //傳入陣列首位址和陣列長度

arr[preindex + 1] = cur;       //把插入元素插到相應位置

}}int main()

;    int length = sizeof(arra) / sizeof(arra[0]);    //計算陣列長度

sort(arra,length);                     //呼叫排序演算法  

for (size_t i = 0; i < length; i++)    //輸出排序後的陣列

cout << arra[i] << " ";

system("pause");

return 0;

}

插入排序演算法(C實現)

總體思路是 先記錄每一次要插入的值,插入的值依次與前面插入的值比較大小,直到找到那個值,然後後面的值全部後移空出的位置,就是他的正確位置。迴圈n次實現排序。printf 排序之前 n for int i 0 i 5 i insertvalue a,5 printf n printf 排序之後 n f...

排序演算法 插入排序 C 實現

插入排序的基本思想是每次將乙個待排序的記錄,按其關鍵字大小插入到前面已經排好序的子檔案中的適當位置,直到全部記錄插入完成為止。常見的插入排序有插入排序 insertion sort 希爾排序 shell sort 二叉查詢樹排序 tree sort 圖書館排序 library sort patien...

排序演算法 插入排序 C 實現

插入排序演算法也是乙個複雜度為o n 2 的排序演算法,它的原理跟打撲克類似。在打撲克時,每摸到一張牌我們都會把它插入到手上撲克中的正確位置。那麼在排序中就是進行兩重迴圈,第一重迴圈遍歷陣列,第二重迴圈將當前元素插入到之前元素中合適的位置。給一組演示加深理解 對於第乙個元素因為之前沒有元素,不需要插...