五十五、深入插入排序和选择排序
@Author:Runsen
文章目錄
- 插入排序
- 選擇排序
插入排序
插入排序(英語:Insertion Sort)是一種簡單直觀的排序算法。
一個有序的數(shù)組,我們往里面添加一個新的數(shù)據(jù)后,如何繼續(xù)保持?jǐn)?shù)據(jù)有序呢?很簡單,我們只要遍歷數(shù)組,找到數(shù)據(jù)應(yīng)該插入的位置將其插入即可。
通過構(gòu)建有序序列,對于未排序數(shù)據(jù),在已排序序列中從后向前掃描,找到相應(yīng)位置并插入。
插入排序在實(shí)現(xiàn)上,在從后向前掃描過程中,需要反復(fù)把已排序元素逐步向后挪位,為最新元素提供插入空間。
因此,代碼編寫需要判斷插入元素和當(dāng)前元素的大小關(guān)系,遍歷時需要從數(shù)組的第二個數(shù)開始。
如果插入元素大于當(dāng)前元素,則將待插入元素插入到當(dāng)前元素的后一位。
如果插入元素小于當(dāng)前元素,則將當(dāng)前元素后移一位。直到找到一個當(dāng)前元素小于插入元素。
因此,在for循環(huán)遍歷時,又有一個while內(nèi)循環(huán)的條件,條件的內(nèi)容是插入元素的索引減一和零進(jìn)行對比。如果插入元素小于當(dāng)前元素,同時對索引進(jìn)行減一操作。如果出現(xiàn)了索引等于零的情況,那么表示插入元素等于當(dāng)前元素。
下面是插入排序的具體P
總結(jié)
以上是生活随笔為你收集整理的五十五、深入插入排序和选择排序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电脑上怎么不显示u盘启动不了怎么办啊 电
- 下一篇: 五十六、从高中碾转相除法、更相减损术算法