基本排序演算法 插入排序

2021-10-23 09:08:13 字數 1287 閱讀 1577

排序演算法相關理論網上資料已經很多了,這裡記錄一下**方便複習。

插入排序核心思想:

把陣列分為有序表和無序表,從後面無序表中依次取出第乙個數,插入到有序表的適當位置。

/**

* @description: 插入排序

* * 1.從第乙個元素開始,該元素可以認為已經被排序

* 2.取出下乙個元素,在已經排序的元素序列中從後向前掃瞄

* 3.如果該元素(已排序)大於新元素,將該元素移到下一位置

* 4.重複步驟3,直到找到已排序的元素小於或者等於新元素的位置

* 5.將新元素插入到該位置後

* 6.重複步驟2~5

*/public

class

insertsort

;int len = arr.length;

int insertval =0;

int insertindex =0;

for(

int i =

1; i < len; i++

)// 退出while迴圈時說明插入位置找到

// 因為退出while迴圈前多執行了一次insertindex--,所以 insertindex + 1 才是要插入的位置

if(insertindex +

1!= i)

system.out.

println

("第"

+i+"輪:"

+arrays.

tostring

(arr));

} system.out.

println

(arrays.

tostring

(arr));

}}

列印結果:

第1輪:[2,

5,9,

6,10,

21,16]

第2輪:[2,

5,9,

6,10,

21,16]

第3輪:[2,

5,6,

9,10,

21,16]

第4輪:[2,

5,6,

9,10,

21,16]

第5輪:[2,

5,6,

9,10,

21,16]

第6輪:[2,

5,6,

9,10,

16,21]

[2,5

,6,9

,10,16

,21]

基本排序演算法 插入排序

排序方式 插入排序 插入排序的 實現雖然沒有氣泡排序和選擇排序那麼簡單粗暴,但它的原理應該是最容易理解的了,因為只要打過撲克牌的人都應該能夠秒懂。當然,如果你說你打撲克牌摸牌的時候從來不按牌的大小整理牌,那估計這輩子你對插入排序的演算法都不會產生任何興趣了 哈哈?原理 從第二個元素開始 假定第乙個元...

基本排序演算法之插入排序

早上有人跟我說今天是二月二,龍抬頭的日子,大吉大利。確實,陽光明媚,風和日麗,適合出去散散步。又想回來,目前的我,基礎著實還是有點不夠紮實,那就一點一點的再去慢慢積累吧。那就從最簡單的開始吧,真知往往就在最簡單的東西裡面,一起去挖掘吧 just for studying.昨天又重新看了基本排序演算法...

基本排序演算法之插入排序

插入排序的基本方法是 每步將乙個待排序的元素,按其排序碼大小,插入到前面已經排好序的一組元素的適當位置上去,直到元素全部插入為止。可以選擇不同的方法在已經排好序的有序資料表中尋找插入位置。依據查詢方法的不同,有多種插入排序。下面介紹直接插入排序 直接插入排序的基本思想 當插入第i i 1 個元素時,...