經典排序算法 – 插入排序Insertion sorthtml
經典排序算法 – 插入排序Insertion sort 插入排序就是每一步都將一個待排數據按其大小插入到已經排序的數據中的適當位置,直到所有插入完畢。 插入排序方法分直接插入排序和折半插入排序兩種,這裏只介紹直接插入排序,折半插入排序留到「查找」內容中進行。 圖1演示了對4個元素進行直接插入排序的過程,共須要(a),(b),(c)三次插入。算法
如下代碼僅供參考,歡迎指正post
/// <summary> /// 插入排序 /// </summary> /// <param name="unsorted"></param> static void insertion_sort(int[] unsorted) { for (int i = 1; i < unsorted.Length; i++) { if (unsorted[i - 1] > unsorted[i]) { int temp = unsorted[i]; int j = i; while (j > 0 && unsorted[j - 1] > temp) { unsorted[j] = unsorted[j - 1]; j--; } unsorted[j] = temp; } } } static void Main(string[] args) { int[] x = { 6, 2, 4, 1, 5, 9 }; insertion_sort(x); foreach (var item in x) { if (item > 0) Console.WriteLine(item + ","); } Console.ReadLine(); }