排序之插入排序

2021-08-30 09:27:54 字數 838 閱讀 2614

插入演算法

迴圈陣列,以指標資料為基值 並且記錄,,通過和左側(右側)的迴圈比較,當比較值大於(小於)基值時

將大的值至後,指標繼續移動,比較,置換。直到遇到小於基值,或者到陣列邊界時截止,並且置換至首位。

結束一次內迴圈,這是外迴圈的指標左側的是有序。

class sort		

public static void main(string args) ;

sort b = new sort(array);

b.insertsort();

system.out.println(b);

} public void insertsort()

// 將外層的基值至於排序中正確的位置

a[in] = temp;

} system.out.println(step); }

public string tostring()

return b.tostring();

}}

例:

迴圈,3 < 5 將大值像後置換。並且指標前移

5,5,1,7,9,2,0,

已到陣列邊界,將基值至於當前內迴圈指標位置。

3,5,1,7,9,2,0,

3,5,5,7,9,2,0,

3,3,5,7,9,2,0,

1,3,5,7,9,2,0,

1,3,5,7,9,9,0,

1,3,5,7,7,9,0,

1,3,5,5,7,9,0,

1,3,3,5,7,9,0,

1,2,3,5,7,9,0,

排序之插入排序

基本思想 每次將乙個待排序的記錄,按其關鍵字大小插入到前邊已經排好序的子陣列中的適當位置,知道全部記錄插入完成為止。分類 直接插入排序和希爾 shell 排序。一 直接插入排序 基本操作 將當前無序區的第乙個記錄r i 插入到有序區r 1.i 1 中適當的位置,使得r 1.i 變為新的有序區。每次使...

排序之插入排序

本人是純正的蒟蒻。寫這些部落格目的是為了複習一些基礎知識,同時也幫助一下比我還要弱的蒟蒻 估計沒有 排序 排序有很多種,這裡先介紹幾種最基本,最簡單的。一.插入排序 主要思想 假設前面n個元素已經有序排列,現在要插入乙個元素,使這n 1個元素有序,先在原有序列中找到應該插入的位置,然後把這個位置的數...

7 插入排序之折半插入排序

7 折半插入排序 折半插入 考慮到插入第i個元素前面的i 1個元素是有序的,計算0 i 1的中間點,和i個元素進行比較,這樣完成了折半。然後不停地用上面的步驟,快速的找出第i個元素的位置。時間複雜度 折半插入排序比直接插入排序明顯減少了關鍵字之間的比較次數,但是移動次數是沒有改變。所以,折半插入排序...