圖解數(shù)組高級(jí)冒泡排序和選擇排序

一稳捆、數(shù)組高級(jí)冒泡排序

  • 需求: 對(duì)數(shù)組元素:{24, 69, 80, 57, 13}進(jìn)行冒泡排序

  • 分析: 相鄰元素兩兩比較,大的往后放尾抑,第一次完畢最大值出現(xiàn)在了最大索引處念链。
    第一次比較arr[0]和arr[1]、arr[1]和arr[2]贝润、arr[2]和arr[3]绊茧、arr[3]和arr[4];比較4次打掘,得出最大數(shù)80
    第二次比較arr[0]和arr[1]华畏、arr[1]和arr[2]、arr[2]和arr[3]尊蚁;比較3次亡笑,得出最大數(shù)69
    第三次比較arr[0]和arr[1]、arr[1]和arr[2]枝誊;比較2次况芒,得出最大數(shù)57
    第四次比較arr[0]和arr[1];得出最大值24叶撒,比較1次绝骚,比較完成
    通過這分析我們可以知道5個(gè)數(shù)只需要比較4次,所以外層需要通過一個(gè)for循環(huán)去控制祠够,循環(huán)的次數(shù)就是arr.length-1压汪。總共我們需要比較四大次古瓤,但是在第一大次中止剖,還需要比較四小次。然后第二大次中落君,還需要比較三小次穿香,依次類推,我們可以得到一個(gè)規(guī)律绎速,只要分析出思路皮获,接下來的代碼是容易實(shí)現(xiàn)的了。

  • 圖解


    image.png
  • 運(yùn)行結(jié)果


    image.png
  • 代碼(完整)

package algorithm;

/**
 * Project:Kotlin
 * Package:algorithm
 * Author:SKFsky
 * Description: 排序纹冤,冒泡排序和選擇排序及二分查找
 */
public class algorithm_sort {
    public static void main(String[] args) {
       demo1()//冒泡排序
       //demo2();//選擇排序
    }

    public static void demo1(){
        int[] arr = {24, 69, 80, 57, 13};
        int temp = 0;
        for (int i = 0;i<arr.length-1;i++) {
            for (int j = 0;j<arr.length-i-1;j++) {
                if (arr[j]>arr[j+1]){
                    temp = arr[j+1];
                    arr[j+1] = arr[j];
                    arr[j] = temp;
                }
            }
        }
        for (int i = 0;i<arr.length;i++) {
            System.out.println(arr[i]);
        }
    }
}

二洒宝、數(shù)組高級(jí)選擇排序

  • 需求: 對(duì)數(shù)組元素:{24, 69, 80, 57, 13}進(jìn)行選擇排序

  • 分析:
    第一次arr[0]和arr[1],arr[0]和arr[2],arr[0]和arr[3],arr[0]和arr[4],比較四次,求出arr[0]最小值16萌京,下次排序不帶最小值
    第二次arr[1]和arr[2],arr[1]和arr[3],arr[1]和arr[4],比較三次雁歌,求出arr[1]最小值24,下次排序不帶最小值
    第三次arr[2]和arr[3],arr[2]和arr[4],比較兩次知残,求出arr[2]最小值35靠瞎,下次排序不帶最小值
    第四次arr[3]和arr[4],比較一次,求出arr[2]最小值70,比較結(jié)束

  • 圖解:


    image.png
  • 運(yùn)行結(jié)果:


    image.png
  • 代碼展示:

 public static void demo2(){
                int[] arr = {24, 69, 80, 57, 13};
                int temp = 0;
                for (int i = 0;i<arr.length-1;i++) {
                    for (int j = i+1;j<arr.length;j++){
                        if (arr[i]>arr[j]) {
                            temp = arr[i];
                            arr[i] = arr[j];
                            arr[j] = temp;
                        }
                    }
                }
                for (int i = 0;i<arr.length;i++) {
                    System.out.println(arr[i]);
                }
    }

總結(jié):算法題難的不在于代碼的實(shí)現(xiàn)较坛,而在于我們的思路印蔗,只要能理清思路總結(jié)出規(guī)律扒最,用代碼只是去實(shí)現(xiàn)了丑勤,思路還是需要多練才是王道,練多了也就有經(jīng)驗(yàn)了吧趣。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末法竞,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子强挫,更是在濱河造成了極大的恐慌岔霸,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,509評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件俯渤,死亡現(xiàn)場(chǎng)離奇詭異呆细,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)八匠,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門絮爷,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人梨树,你說我怎么就攤上這事坑夯。” “怎么了抡四?”我有些...
    開封第一講書人閱讀 163,875評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵柜蜈,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我指巡,道長(zhǎng)淑履,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,441評(píng)論 1 293
  • 正文 為了忘掉前任藻雪,我火速辦了婚禮秘噪,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘阔涉。我一直安慰自己缆娃,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,488評(píng)論 6 392
  • 文/花漫 我一把揭開白布瑰排。 她就那樣靜靜地躺著贯要,像睡著了一般。 火紅的嫁衣襯著肌膚如雪椭住。 梳的紋絲不亂的頭發(fā)上崇渗,一...
    開封第一講書人閱讀 51,365評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼宅广。 笑死葫掉,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的跟狱。 我是一名探鬼主播俭厚,決...
    沈念sama閱讀 40,190評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼驶臊!你這毒婦竟也來了挪挤?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,062評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤关翎,失蹤者是張志新(化名)和其女友劉穎扛门,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體纵寝,經(jīng)...
    沈念sama閱讀 45,500評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡论寨,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,706評(píng)論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了爽茴。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片葬凳。...
    茶點(diǎn)故事閱讀 39,834評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖闹啦,靈堂內(nèi)的尸體忽然破棺而出沮明,到底是詐尸還是另有隱情,我是刑警寧澤窍奋,帶...
    沈念sama閱讀 35,559評(píng)論 5 345
  • 正文 年R本政府宣布荐健,位于F島的核電站,受9級(jí)特大地震影響琳袄,放射性物質(zhì)發(fā)生泄漏江场。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,167評(píng)論 3 328
  • 文/蒙蒙 一窖逗、第九天 我趴在偏房一處隱蔽的房頂上張望址否。 院中可真熱鬧,春花似錦碎紊、人聲如沸佑附。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)音同。三九已至,卻和暖如春秃嗜,著一層夾襖步出監(jiān)牢的瞬間权均,已是汗流浹背顿膨。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留叽赊,地道東北人恋沃。 一個(gè)月前我還...
    沈念sama閱讀 47,958評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像必指,于是被迫代替她去往敵國(guó)和親囊咏。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,779評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 某次二面時(shí)取劫,面試官問起Js排序問題匆笤,吾絞盡腦汁回答了幾種研侣,深感算法有很大的問題谱邪,所以總計(jì)一下! 排序算法說明 (1...
    流浪的先知閱讀 1,192評(píng)論 0 4
  • 數(shù)組高級(jí)(排序) 排序冒泡排序相鄰元素兩兩比較喇澡,大的往后放迅栅,第一次完畢,最大值出現(xiàn)在了最大索引處.同理晴玖,即可得到排...
    清風(fēng)沐沐閱讀 541評(píng)論 0 1
  • 每個(gè)人在乎的東西跟點(diǎn)真的不一樣 我似乎也不能要求對(duì)方去關(guān)注或是在乎自己認(rèn)為還比較重要的事情 就好像對(duì)方也不能命令我一樣
    魚甜閱讀 138評(píng)論 0 0
  • 莽莽撞撞呕屎,兜兜轉(zhuǎn)轉(zhuǎn)让簿,兩年,從結(jié)婚到生活里多了個(gè)小人兒秀睛,像有人在背后抽著鞭子一般尔当,都不曾敢停下腳步。人到正年蹂安,好似都...
    晨小辰閱讀 296評(píng)論 0 0
  • 政府放開二孩政策以后椭迎,身邊很多朋友都生了第二個(gè)小孩,還有很多也有繼續(xù)造人的計(jì)劃田盈。 原因有很多:不小心懷...
    小貼士閱讀 123評(píng)論 0 1