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