乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      逗比講算法:什么是冒泡排序?

       長(zhǎng)沙7喜 2019-08-20

      通過(guò)上邊的圖
      大家也可以很清楚看到了
      準(zhǔn)備要做大事情了!

      死不死上邊紅黑相間似曾相似?
      看不懂的可谷歌翻譯一下
      可見(jiàn)一般???!
      正事預(yù)警!

      本文將在此公眾號(hào)上通過(guò)一個(gè)個(gè)
      鮮活生動(dòng)的情景故事和漫畫(huà)
      講解算法知識(shí)和逗比故事

      大約每周一篇
      好了!下面介紹一下漫畫(huà)人物
      阿廣的老板
      (大熊貓飾)
      阿廣
      (蘑菇頭飾)

      從夢(mèng)中驚醒
      看到老板的面孔~
      瞬間清醒了許多!回答道!
      初始狀態(tài)
      第一輪遍歷

      第二輪遍歷
      第三輪遍歷

      第四輪遍歷
      第五輪遍歷
      不用多講解
      只要智商正常
      多看幾遍動(dòng)畫(huà)
      應(yīng)該問(wèn)題不大!了?
      下面剖析一下代碼
      public void bubbleSort(int[] list) {
      int temp = 0; // 用來(lái)交換的臨時(shí)數(shù)
      // 要遍歷的次數(shù)
      for (int i = 0; i < list.length - 1; i++) {
      // 從后向前依次的比較相鄰兩個(gè)數(shù)的大小,遍歷一次后,把數(shù)組中第i小的數(shù)放在第i個(gè)位置上
      for (int j = list.length - 1; j > i; j--) {
      // 比較相鄰的元素,如果前面的數(shù)大于后面的數(shù),則交換
      if (list[j - 1] > list[j]) {
      temp = list[j - 1];
      list[j - 1] = list[j];
      list[j] = temp;
      }
      }
      System.out.format('第 %d 趟: ', i);
      printAll(list);
      }
      }
      對(duì)冒泡排序常見(jiàn)的改進(jìn)方法是加入標(biāo)志性變量exchange,用于標(biāo)志某一趟排序過(guò)程中是否有數(shù)據(jù)交換。
      如果進(jìn)行某一趟排序時(shí)并沒(méi)有進(jìn)行數(shù)據(jù)交換,則說(shuō)明所有數(shù)據(jù)已經(jīng)有序,可立即結(jié)束排序,避免不必要的比較過(guò)程。

      改進(jìn)代碼如下:
      // 對(duì) bubbleSort 的優(yōu)化算法
      public void bubbleSort_2(int[] list) {
      int temp = 0; // 用來(lái)交換的臨時(shí)數(shù)
      boolean bChange = false; // 交換標(biāo)志
      // 要遍歷的次數(shù)
      for (int i = 0; i < list.length - 1; i++) {
      bChange = false;
      // 從后向前依次的比較相鄰兩個(gè)數(shù)的大小,遍歷一次后,把數(shù)組中第i小的數(shù)放在第i個(gè)位置上
      for (int j = list.length - 1; j > i; j--) {
      // 比較相鄰的元素,如果前面的數(shù)大于后面的數(shù),則交換
      if (list[j - 1] > list[j]) {
      temp = list[j - 1];
      list[j - 1] = list[j];
      list[j] = temp;
      bChange = true;
      }
      }
      // 如果標(biāo)志為false,說(shuō)明本輪遍歷沒(méi)有交換,已經(jīng)是有序數(shù)列,可以結(jié)束排序
      if (false == bChange)
      break;
      System.out.format('第 %d 趟: ', i);
      printAll(list);
      }
      }

      (雙擊點(diǎn)看查看大圖)

      ————

      編輯 ∑Gemini

       來(lái)源:視學(xué)算法

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類(lèi)似文章 更多