<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      【算法】計數排序(Counting Sort)(八)

      計數排序(Counting Sort)

      計數排序不是基于比較的排序算法,其核心在于將輸入的數據值轉化為鍵存儲在額外開辟的數組空間中。 作為一種線性時間復雜度的排序,計數排序要求輸入的數據必須是有確定范圍的整數。

      1.算法描述

      • 找出待排序的數組中最大和最小的元素;
      • 統計數組中每個值為i的元素出現的次數,存入數組C的第i項;
      • 對所有的計數累加(從C中的第一個元素開始,每一項和前一項相加);
      • 反向填充目標數組:將每個元素i放在新數組的第C(i)項,每放一個元素就將C(i)減去1。

      2.動圖演示

      3.代碼實現

      //javascript實現
      function countingSort(arr, maxValue) {
          var bucket = new Array(maxValue+1),
              sortedIndex = 0;
              arrLen = arr.length,
              bucketLen = maxValue + 1;
      
          for (var i = 0; i < arrLen; i++) {
              if (!bucket[arr[i]]) {
                  bucket[arr[i]] = 0;
              }
              bucket[arr[i]]++;
          }
      
          for (var j = 0; j < bucketLen; j++) {
              while(bucket[j] > 0) {
                  arr[sortedIndex++] = j;
                  bucket[j]--;
              }
          }
      
          return arr;
      }
      
      //java實現
      public class CountingSort implements IArraySort {
      
          @Override
          public int[] sort(int[] sourceArray) throws Exception {
              // 對 arr 進行拷貝,不改變參數內容
              int[] arr = Arrays.copyOf(sourceArray, sourceArray.length);
      
              int maxValue = getMaxValue(arr);
      
              return countingSort(arr, maxValue);
          }
      
          private int[] countingSort(int[] arr, int maxValue) {
              int bucketLen = maxValue + 1;
              int[] bucket = new int[bucketLen];
      
              for (int value : arr) {
                  bucket[value]++;
              }
      
              int sortedIndex = 0;
              for (int j = 0; j < bucketLen; j++) {
                  while (bucket[j] > 0) {
                      arr[sortedIndex++] = j;
                      bucket[j]--;
                  }
              }
              return arr;
          }
      
          private int getMaxValue(int[] arr) {
              int maxValue = arr[0];
              for (int value : arr) {
                  if (maxValue < value) {
                      maxValue = value;
                  }
              }
              return maxValue;
          }
      
      }
      
      posted @ 2022-03-16 22:23  HZX↑  閱讀(49)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 精品国产AV无码一区二区三区| 国产女人18毛片水真多1| 久久一日本综合色鬼综合色| 99热精国产这里只有精品| 亚洲精品国产av成拍色拍个| 国产成人亚洲无码淙合青草| 亚洲日韩亚洲另类激情文学| 国产亚洲欧美另类一区二区| 国产第一页浮力影院入口| 欧美亚洲色综久久精品国产| 久久精品国产清自在天天线| 忘忧草在线社区www中国中文| 国产 精品 自在 线免费| 国产gaysexchina男外卖| 欧美成人VA免费大片视频 | 俄罗斯美女真人性做爰| 日本老熟女一二三区视频| 福利一区二区不卡国产| 九九成人免费视频| 国内自拍视频在线一区| 色就色中文字幕在线视频| 少妇人妻偷人免费观看| 在线a亚洲v天堂网2018| 国产偷国产偷亚洲清高| 中文字幕亚洲人妻系列| 国产91色综合久久免费| 精品无人乱码一区二区三区的优势 | 亚洲色成人网站www永久男男| 高清中文字幕国产精品| 日韩国产精品无码一区二区三区| 亚洲va中文字幕无码久久| 亚洲经典av一区二区| 国产不卡一区二区精品| 亚洲性猛交xxxx| 国产精品99久久久久久www| 国产高清在线男人的天堂| 正阳县| 中国亚州女人69内射少妇| 亚洲熟妇自偷自拍另欧美| 中文字幕日韩有码国产| a4yy私人毛片|