<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          漫畫:三種 “奇葩” 的排序算法

          共 1312字,需瀏覽 3分鐘

           ·

          2020-09-06 02:39


          在算法的世界里,有許多高效率的排序算法,比如快速排序、歸并排序、桶排序......它們大大提高了程序的性能。


          但是,也有一些比較奇葩的排序算法,它們既不能做到高效率,也沒有很好的可讀性。那它們存在的意義是什么呢?因?yàn)?strong>有趣呀。


          下面,讓我們來介紹三種“異想天開”的排序算法。



          1.睡眠排序


          —————? 第二天? —————




          1. public static void sleepSort(int[] array){

          2. for (int num : array) {

          3. new Thread(() -> {

          4. try {

          5. Thread.sleep(num);

          6. } catch (InterruptedException e) {

          7. e.printStackTrace();

          8. }

          9. System.out.println(num);

          10. }).start();

          11. }

          12. }


          13. public static void main(String[] args) {

          14. int[] array = {10,30,50,60,100,40,150,200,70};

          15. sleepSort(array);

          16. }



          1. }






          ————————————





          (小灰把自己的代碼給大黃展示了)









          2.猴子排序




          或許這樣說比較抽象,讓我們來演示一下:







          3.珠排序



          見過算盤的人都知道,算盤上有許多圓圓的珠子被串在細(xì)桿上,就像下面這樣:



          如果把算盤豎起來,會(huì)發(fā)生什么呢?算盤上的小珠子會(huì)在重力的作用下滑到算盤底部,就像下面這樣:





          什么意思呢?我們來仔細(xì)說明一下:



          在珠子下落之前,每一橫排有幾個(gè)珠子?如上圖所示,每排珠子的數(shù)量分別是3, 2, 4, 5, 1,這個(gè)數(shù)列是無序的。



          當(dāng)珠子下落以后,每一橫排有又幾個(gè)珠子?如上圖所示,每排珠子的數(shù)量變成了1, 2, 3, 4, 5,這個(gè)數(shù)列是有序的!


          那么,我們可不可以模擬珠子下落的原理,對(duì)一組正整數(shù)進(jìn)行排序呢?答案是可以的。


          我們可以用二維數(shù)組來模擬算盤,有珠子的位置設(shè)為1,沒有珠子的位置設(shè)為0。那么,一個(gè)無序的整型數(shù)組就可以轉(zhuǎn)化成下面的二維數(shù)組:



          接下來,我們模擬算盤珠子掉落的過程,讓所有的元素1都落到二維數(shù)組的最底部:



          最后,把掉落后的 “算盤” 轉(zhuǎn)化成一維有序數(shù)組:








          —————END—————


          推薦閱讀


          1、力扣刷題插件

          2、你不知道的 TypeScript 泛型(萬字長文,建議收藏)

          3、TypeScript 類型系統(tǒng)

          4、immutablejs 是如何優(yōu)化我們的代碼的?

          5、typeScript 配置文件該怎么寫?

          6、前端換膚的N種方案,請(qǐng)收下

          7、【校招面經(jīng)分享】好未來-北京-視頻面試


          ?

          關(guān)注加加,星標(biāo)加加~

          ?

          如果覺得文章不錯(cuò),幫忙點(diǎn)個(gè)在看唄





          瀏覽 38
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  免费一级特黄毛大片 | 日韩一区二区三区四区视频 | 国产精品毛片久久 | 囯产一级黄片 | 国产一级二级三级精品毛片 |