演算法之直接插入排序

2021-09-30 11:31:09 字數 641 閱讀 2091

直接插入排序(straight insertion sort)的做法是:

每次從無序表中取出第乙個元素,把它插入到有序表的合適位置,使有序表仍然有序。

第一趟比較前兩個數,然後把第二個數按大小插入到有序表中; 第二趟把第三個資料與前兩個數從前向後掃瞄,把第三個數按大小插入到有序表中;依次進行下去,進行了(n-1)趟掃瞄以後就完成了整個排序過程。

直接插入排序屬於穩定的排序,最壞

時間複雜性

為o(n^

2),空間複雜度

為o(1)。

c語言實現直接插入排序

#includeusingnamespacestd;

int main()

;int k = sizeof(a) / sizeof(a[0]);

int j;

for(inti = 1; i < k; i ++)//迴圈從第2個元素開始

}for(int i = 0; i < k; i++)

;int n = a.length;

int i, j;

for(i = 0; i < n; i++)

a[j] = temp;

}for(i = 0; i < n; i ++)

}}

演算法之直接插入排序

演算法之直接插入排序簡介 直接插入排序 基本操作是將一條記錄插入到已排好的有序表中,從而得到乙個新的 記錄數量增1的有序表。參考 直接插入排序 基本操作是將一條記錄插入到已排好的有序表中,從而得到乙個新的 記錄數量增1的有序表。author zhang public class directinse...

排序演算法之直接插入排序

直接插入排序 straight insertion sort 的基本思想 每次將乙個待排序的記錄,按其關鍵字大小插入到前面已經排好序的子串行中的適當位置,直到全部記錄插入完成為止。設陣列為a 0 n 1 其中紅色區域為有序區域 1.初始時,a 0 自成1個有序區,無序區為a 1.n 1 a 0 a ...

排序演算法之直接插入排序

直接插入排序類似於我們平常在打撲克摸牌時候的一種情形。我習慣於左手拿牌右手摸牌,每次先把左手中的牌齊整齊,然後右手新摸一張牌中把它放到左手中正確的位置,讓它成為乙個新的整齊的牌堆。如果根據上面的思路我們可以發現,直接插入排序的思想就是,從需要排序的第二個數字開始,拿取乙個數,與前面的數字進行比較,放...