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

2021-10-03 12:37:20 字數 1793 閱讀 9489

#include

#include

#include

using

namespace std;

void

print

(int arr,

int len)

cout << endl;

}void

insertsort

(int arr,

int len)

arr[j +1]

= basic;}}

void

main()

;int len =

sizeof

(arr)

/sizeof

(int);

cout <<

"排序前結果:"

<< endl;

print

(arr, len)

; cout <<

"排序後結果:"

<< endl;

insertsort

(arr, len)

;print

(arr, len)

; cout << endl;

system

("pause");

}

c++實現排序演算法之插入排序:

插入排序:

時間複雜度:o(n²);

演算法穩定性:不穩定的排序演算法;

插入排序(insertion sort)是一種簡單直觀且穩定的排序演算法。如果有乙個已經有序的資料序列,要求在這個已經排好的資料序列中插入乙個數,但要求插入後此資料序列仍然有序,這個時候就要用到一種新的排序方法——插入排序法,演算法適用於少量資料的排序,時間複雜度o(n^2)。是穩定的排序方法。插入演算法把要排序的陣列分成兩部分:第一部分包含了這個陣列的所有元素,但將最後乙個元素除外(讓陣列多乙個空間才有插入的位置),而第二部分就只包含這乙個元素(即待插入元素)。在第一部分排序完成後,再將這個最後元素插入到已排好序的第一部分中。

插入排序的基本思想是:每步將乙個待排序的記錄,按其關鍵碼值的大小插入前面已經排序的檔案中適當位置上,直到全部插入完為止。

1、將無序序列插入到有序序列中;

2、插入排序在什麼情況下效率高

如果序列基本有序情況下;

插入排序時候,資料序列比較少;

//插入排序

#include

#include

#include

#define max 10

using

namespace std;

void

swap

(int

* a,

int* b)

void

print

(int arr,

int length)

cout << endl;

}void

insertsort

(int arr,

int length)

arr[j +1]

= temp;}}

}void

main()

cout <<

"排序前:"

<< endl;

print

(arr, max)

; cout <<

"排序後:"

<< endl;

insertsort

(arr, max)

;print

(arr, max)

;system

("pause");

}

插入排序演算法之C 實現

插入排序,顧名思義其實現形式是插入.在整個大小不一的佇列中,第一次 從乙個元素開始,將後面相鄰的元素 第二個元素 提取出來,放在乙個變數中暫時儲存,然後和第二個元素前面的那個元素 第乙個元素 做比較,如果比它大,當然就不變動位置 但如果比它小,就將前面那個元素移動到第二個元素的位置,然後將變數的元素...

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

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

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

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