演算法 插入排序

2021-07-28 16:35:44 字數 441 閱讀 4363

1、插入排序:

在乙個陣列排序中,插入排序,從角標1開始,假設之前的陣列都是排列好的(就乙個),之後用角標1的數去和前一位做對比,若需要交換,則前一位後移,騰出位置讓1角標資料插入,以此類推,實現排序。需要排序的a,角標為i,需要找到j位置,則0到i-1中的陣列是排好順序的,在用a與i-1角標的數做對比,當數大於(從大到小排列)或小於(從小到大排列)i-1角標數值時,則i-1後移一位,騰出地方,以此遍歷i-1到0的陣列,最終找到位置j,實現排序。

2、**例項:

private int  insertorder(int  order) 

order[j] = temp;

} return order;

}

總結:插入排序,兩層for迴圈,外層for迴圈為所有元素排序,內層for迴圈為每乙個外層迴圈元素找到插入的位置,區域性小範圍排序。

插入排序演算法

插入排序演算法 思想 把排序過程看作是序列單個有序擴充套件為整體有序的過程,即首先取序列第二個元素與第乙個元素比較,將其插入合適位置,再將第三個元素與前兩個元素比較,將其插入合適位置,如此進行,直到最後取第n個元素與前n 1個元素進行比較並將其插入合適位置。演算法 建立日期 2004 12 14 插...

演算法 插入排序

include include 插入排序 n 2為的效率。具體思想 將陣列分為兩部分,一部分是有序的,一部分為無序的 然後從無序中選取乙個數插入在有序的數中的恰當的位置,以此迭代,直到無序的數全部遍厲完畢 void insert sort int a,int n a j tmp break retu...

插入排序演算法

下面這段話摘自 一般來說,插入排序都採用in place在陣列上實現。具體演算法描述如下 從第乙個元素開始,該元素可以認為已經被排序 取出下乙個元素,在已經排序的元素序列中從後向前掃瞄 如果該元素 已排序 大於新元素,將該元素移到下一位置 重複步驟3,直到找到已排序的元素小於或者等於新元素的位置 將...