什么是插入排序本姥?
就是在數(shù)組中從左到右,先取一個數(shù)出來杭棵,然后把它放到合適的位置
算法描述
假設(shè)一個數(shù)組中有 2 個區(qū)域
5, 8, 2, 3, 1
有序區(qū)為空婚惫,無序區(qū)為 5, 8, 2, 3, 1
-----------------------------------
首先在無序區(qū)中選第一個值(5),把它放在有序區(qū)的尾部魂爪,第一步基本上不用動
結(jié)果:5, 8, 2, 3, 1
有序區(qū)為 5先舷,無序區(qū)為 8, 2, 3, 1
-----------------------------------
然后在無序區(qū)中取第一個值(8)記錄下來,然后繼續(xù)在無序區(qū)中查找比它更小的值(1)滓侍,然后在有序區(qū)中從右往左尋找合適的位置(小于 1 和大于 1 的中間)插入
結(jié)果:5, 8, 2, 3, 1
有序區(qū)為 1, 5蒋川,無序區(qū)為 8, 2, 3
-----------------------------------
然后在無序區(qū)中取第一個值(8)記錄下來,然后繼續(xù)在無序區(qū)中查找比它更小的值(2)撩笆,然后在有序區(qū)中從右往左尋找合適的位置(小于 2 和大于 2 的中間)插入
結(jié)果:5, 8, 2, 3, 1
有序區(qū)為 1, 2, 5捺球,無序區(qū)為 8, 3
-----------------------------------
... 以此類推,直到無序區(qū)為空
<img src="https://noxussj.top:3000/23/1.gif"></img>
參考資料
值得收藏的十大經(jīng)典排序算法
文章的內(nèi)容/靈感都從下方內(nèi)容中借鑒
【持續(xù)維護(hù)/更新 500+前端面試題/筆記】https://github.com/noxussj/Interview-Questions/issues
【大數(shù)據(jù)可視化圖表插件】https://www.npmjs.com/package/ns-echarts
【利用 THREE.JS 實(shí)現(xiàn) 3D 城市建模(珠海市)】https://3d.noxussj.top/