插入排序是最簡單的一種排序方法。它的基本操作就是將乙個記錄插入到已排好序的有序表中,從而得到乙個新的、記錄數增1的有序表。
直接插入排序時,我們將第二個陣列元素作為插入數,第乙個數作為有序陣列。逐個比較兩者大小,最後將數插入到合適位置。
**實現:
/**插入排序**/
void inse(int *data)
{int t=0,j=0;
for(int i=1;i=0&&t執行結果:
時間複雜度:o(n²)
若待排序是隨機的,則作為直接插入排序時所需進行各種關鍵字間的比較次數和移動記錄的次數,約為n²/4。由此,直接插入排序的時間複雜度為o(n²)。
C語言直接插入排序
直接插入排序 穩定演算法 的基本思想 從第乙個數開始,認定陣列的前i個數有序,依次遍歷陣列,把後面的資料插入到合適的位置,使陣列繼續保持有序。include void swap int a,int b 直接插入排序 公升序 void insertsort up int arr,int length ...
直接插入排序 C語言
當我們打撲克牌的時候,為了使手中的牌順序排列,我們平常都會這麼做,每抽到一張牌,就會將它直接插入到適當的位置。例如 我們手上有1 3 4 5這四張牌,而當我們再抽到乙個2的時候,我們需要將2插入到1和3之間,這樣就能完成手中牌的順序排列。直接插入排序基本操作就是將乙個資料插入到已經排序好的有序序列中...
C 語言 直接插入排序
include 直接插入排序 公升序的方式 void insertsort up int arr,int length arr j 1 temp printarr arr,length return 直接插入排序 降序的方式 void insertsort down int arr,int leng...