插入排序 1 直接插入排序

2021-06-23 03:13:46 字數 581 閱讀 9725

插入排序

插入排序的演算法思想是:在乙個有序

的元素序列中,不斷地將新元素插入到該已經有序的元素序列中的合適位置,直到所有元素都插入到合適位置則完成排序。

直接插入排序:

假設待排序的元素有n個,對應的元素分別是a1,a2,a3,a4...,因為第乙個元素是有序的,

所以從第二個元素開始,將a2與a1進行比較。如果a2

實現**(c#實現):

using system;

using system.collections.generic;

using system.linq;

using system.text;

for (int i = 0; i < a.length; i++)

console.readkey();}}

}直接插入排序在最好的情況下,就是所有所有元素已經有序,時間複雜度為o(n),最壞的情況下是所有元素都是逆序,時間複雜度為o(n^2).

1 直接插入排序 插入排序

直接插入排序 straight insertion sort 是一種最簡單的排序方法,它的基本操作是將乙個記錄插入到已排好序的有序表中,從而得到乙個新的 記錄數增1的有序表。排序過程如下 參考自嚴蔚敏的資料結構 c語言版 思想是第一次將第乙個元素當作有序組,每次後面的元素插入到有序組中使其任然有序,...

插入排序 直接插入排序

直接插入排序演算法思想 將整個資料表分成左右兩個子表,其中左子表為有序表,右子表為無序表 整個排序過程就是將右子表中的元素逐個插入到左子表中,直到右子表為空,而左子表成為新的有序表。演算法過程分析 將待排序的元素存放在陣列r n 1 中,在初始狀態下,r 0 為監視哨,r 1 為有序區,r 2 r ...

插入排序 直接插入排序

一.插入排序的基本思想 將乙個記錄插入已排序好的有序表中,從而得到乙個新的記錄數加1的有序表。要點 設立哨兵,作為臨時儲存和判斷陣列邊界之用。所謂的哨兵,就是即將插入的記錄。二.示例 如果碰見相等的元素,會被插到後面,所以,相等元素的前後順序沒有改變,插入排序是穩定的。三.演算法實現 public ...