<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                >[success] # 計數排序 [就看這一個就夠了](https://juejin.im/post/6844904191865913351) ~~~ 1.計數排序是分布式排序,這種排序和我們之前的排序不同點在于,之前的排序都是相互比較 確認位置,'計數排序'不存在元素之間的比較和交換操作 2.'計數排序'只能針對正整數,因為他的解決思路是 2.1.找到你整個數組中'最大值',以此創建數組,這里很好理解 舉個例子: '[2,10,5,6,7,15]',那這里最大值是15,創建一個十五長度數組,將值依次插入他們 對應的數組腳標,則默認排序完成 ~~~ ![](https://img.kancloud.cn/82/7d/827d96b8ca3682e8775f4916f22b45ac_1012x557.gif) >[info] ## js 代碼實現 ~~~ 1.需要寫一個找到最大值的方法,這個方法用到的思路就是等價替換法 2.需要真正排序的方法,他要做的就是將這些值依次加到這個以最大值創建的數組對應腳標位置里, 當然對應腳本中我們存的是個數,這個具體的思路看開頭的文章 ~~~ >[danger] ##### 代碼實現 ~~~ 1.整個這里最繞的就是,腳標才是我們存儲的數據信息,內容存儲的是這個數據實際出現幾次 ~~~ ~~~ function countingSort(array){ // 判斷如果數組長度不大于2沒有排序的必要 if(array.length<2){ return array } const maxValue = findMaxValue(array) const counts = new Array(maxValue+1) // 循環array 的值相當于是我們創建counts對應腳標 array.forEach(item => { if(!counts[item]){ counts[item] = 0 } counts[item] ++ }) let sortedIndex = 0 counts.forEach((count, index) => { while(count>0){ array[sortedIndex++] = index // 把對應腳標存入,腳標是我們實際數據值 count -- } }) return array; } // 獲取最大值為了創建數組用 function findMaxValue(array) { let max = array[0] array.forEach((item)=>{ if(item > max){ max = item } }) return max } const array = countingSort([9,15,2,5,16,7,18]) console.log(array) ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看