js實現插入排序演算法

2021-10-23 20:03:12 字數 722 閱讀 2398

假定有這麼乙個陣列

let ary =[12

,8,24

,16,1

]

插入排序的做法類似於我們平時打的撲克

先從陣列中抽一張「牌」

==> 12

再抓一張牌

與之前抓到的牌依次比較

如果當前新牌a比手裡的某張牌b大,則把a放到b的後面,如果小則繼續向前面的牌比

前提:如果已經比較到第一張了,則把當前牌a插入到最前面即可

==> 8, 12

==> 8, 12, 24

==> 8, 12, 16, 24

/*

* 實現插入排序的方法

* @params

* ary [array] 需要排序的陣列

* @return

* [array]排序後的新陣列

*/function

insert

(ary)

// 已經比到第一項,我們把新牌放到手中最前面即可

if(j===0)

}}return handle

}let ary =[12

,8,24

,16,1

]ary =

insert

(ary)

console.

log(ary)

JS實現插入排序

一,插入排序 1,演算法簡介 插入排序的工作原理就是將未排序資料,對已排序資料序列從後向前掃瞄,找到對應的位置並插入。插入排序通常採用佔位的形式,空間複雜度為o 1 因此,在從後向前掃瞄的過程中,需要反覆的把已排序的元素逐步向後挪位,為新插入元素提供插入的位置。2,演算法描述 1 從第乙個元素開始,...

Js 排序演算法 插入排序

將記錄按其關鍵字得大小插入到乙個有序的記錄序列中,插入後仍有序 從待排序的n個記錄中的第二個記錄開始,依次與前面的記錄比較並尋找插入的位置,每次外迴圈結束後,將當前的數插入到合適的位置。特點 n值較小的時候效率高 n較大時,若待排的記錄按關鍵字基本有序時效率仍然較高。穩定性 穩定排序。最好情況 當待...

插入排序演算法實現

插入排序在眾多排序演算法中是一種穩定的排序方法,其平均與最差時間複雜度均為o n2 空間複雜度為o 1 主要思路 每一次排序都將待排序元素的元素,從已排序的元素的左邊 右邊 開始,依次往右邊 左邊 比較,滿足比較條件的話就交換元素的位置。原理很簡單,先看 include using namespac...