冒泡排序與選擇排序

  hello,小伙伴們大家好,新開的《董小姐花癡記》系列從今天開始就正式登場(chǎng)和大家見面啦~主要講算法知識(shí),而之前的《鄧哥奇遇記》系列主要講網(wǎng)絡(luò)知識(shí),不過大家不用擔(dān)心,《鄧哥奇遇記》系列沒有停止,還會(huì)繼續(xù)更新哦~

  排序是算法的世界里最基礎(chǔ)的問題,而冒泡排序和選擇排序是排序算法里最簡(jiǎn)單的排序算法~很多同學(xué)經(jīng)常弄混兩種排序,今天我們就來詳細(xì)探究冒泡排序和選擇排序的區(qū)別~

  在文章開篇之前,我們還是用一句話來描述冒泡排序和選擇排序的精髓,那就是:排序 = 算法 + 比較 + 交換(此公式針對(duì)冒泡和選擇)

  通過之前的文章,大家肯定對(duì)鄧哥的“浪”已經(jīng)很熟悉了。那么今天我們來聊聊我們董小姐的習(xí)性~董小姐沒有鄧哥抽煙、喝酒、燙頭、浪那么多的屬性。董小姐就兩個(gè)特性,逛~癡~逛~癡~,逛街和犯花癡~董小姐經(jīng)常逛著街,看到小哥哥就走不動(dòng)道了~

  有一天,大家組團(tuán)去逛商場(chǎng),走到商場(chǎng)門口時(shí),董小姐忽然止步不走了,順著董小姐的目光望去,不遠(yuǎn)處立著彭于晏、胡歌、李易峰、劉昊然的宣傳海報(bào)。

  我們知道董小姐的花癡病又犯了。董小姐要給他們按照帥的程度排完序再走。我們的心里此時(shí)是崩潰的。這時(shí)鄧哥卻主動(dòng)請(qǐng)纓,站到了海報(bào)一側(cè),要求參與排序。我們的心情瞬間從崩潰轉(zhuǎn)化為對(duì)鄧哥的憐憫。

  排序之前,董小姐先給每個(gè)人的顏值進(jìn)行打分,彭于晏:98分、胡歌:99分、李易峰:98分、劉昊然:97分、鄧哥:2分。

  董小姐要對(duì)顏值從低到高進(jìn)行排序。

  在筆面試時(shí),一定要看好是從小到大還是從大到小排序。這時(shí)我們得到了一個(gè)數(shù)組[98, 99, 98, 97, 2];

  在正式進(jìn)行排序之前,我們要先做好我們的排序工具。在文章最開始我們就給出了公式:排序 = 算法 + 比較 + 交換。

  這里的算法自然指的是冒泡和選擇,那么比較和交換是什么鬼?

  比較和交換是兩個(gè)基本方法。

  比較的作用是:比較兩個(gè)數(shù),給出是否需要交換。而交換的作用是:要將兩個(gè)數(shù)進(jìn)行換位。我們先寫出比較函數(shù)和交換函數(shù)

  我們先來看比較函數(shù):

  因?yàn)槭菑男〉酱笈判?,所以如果a≤b就不用交換了~否則就是a>b,那么就需要將a和b的位置進(jìn)行交換,就要返回true。

  然后我們?cè)賮砜唇粨Q函數(shù):

  這里的indexA指的是a的位置,indexB指的是b的位置。這時(shí)計(jì)算機(jī)中,最常見的通過第三個(gè)變量實(shí)現(xiàn)a和b數(shù)值互換的寫法。

  有了這兩個(gè)函數(shù)之后,我們就可以開始進(jìn)行排序啦~

  1率先出場(chǎng)的是冒泡排序:

  無論是選擇還是冒泡,每一輪都是要找到當(dāng)前最大的那個(gè)數(shù)。冒泡排序我用一句話來形容就是:過五關(guān),斬六將。

  為什么用一個(gè)詞形容冒泡排序是過五關(guān)斬六將呢?是因?yàn)橐粋€(gè)數(shù),要想從第一個(gè)位置走到最后的位置,需要進(jìn)行多輪的比拼(比較)和廝殺(交換)才能走到最后,而且每次比較都可能進(jìn)行交換。

  我們來看一下冒泡排序的寫法:

  2其次出場(chǎng)的是選擇排序:

  選擇排序我用一句話來形容就是:選出一個(gè)數(shù),扔到后面去。我們可以通過下面的代碼看出,選擇排序就是每一輪,選出一個(gè)最大的數(shù),交換到最后面。

  3最后我們來對(duì)比一下選擇和冒泡:

  冒泡排序:比較一下交換一下。

  選擇排序:比較一下記錄一下,比較一圈交換一下。

  冒泡排序強(qiáng)調(diào)兩個(gè)數(shù)之間的相對(duì)位置,所以數(shù)組越是有序的,冒泡排序的交換次數(shù)就會(huì)越少。

  選擇排序強(qiáng)調(diào)每個(gè)數(shù)的絕對(duì)位置,所以無論數(shù)組是什么樣,耗時(shí)都基本相同。

  在董小姐對(duì)諸位帥哥排序之后,董小姐得到了自己滿意的序列:胡歌,彭于晏,李易峰,劉昊然,鄧哥。

  我們恭喜鄧哥,以97分的微弱劣勢(shì)與此次“選帥”的第一名失之交臂

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容