黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

面試題首頁 > 計數排序面試題

計數排序面試題

001什么是計數排序?

1)計數排序不是一個基于比較的排序算法。它是用一個數組來統計每種數字出現的次數,然后按照大小順序將其依次放回原數組。但是計數排序有一個很嚴重的問題,就是其只能對整數進行排序,一旦遇到字符串時,就無能為力了。

2 )算法圖解

第一步:找出原始數組【0,2,5,3,7,9,10,3,7,6】中元素值最大的,記為max=10。

第二步:創建一個計數數組count,數組長度是max值加1,其元素默認值都為0。

第三步:遍歷原始數組中的元素,以原始數組中的元素作為計數數組count的索引,以原始數組中的元素出現次數作為計數數組count的元素值。下圖可以得到原始數組【0,2,5,3,7,9,10,3,7,6】中元素0出現1次,元素2出現1次,元素3出現2次,元素5出現1次,元素6出現1次,元素7出現2次,元素9出現1次,元素10出現1次。

第四步:遍歷計數數組count,找出其中元素值大于0的元素,將其對應的索引作為元素值填充到結果數組result中去,每處理一次,計數數組count中的該元素值減1,直到該元素值不大于0,依次處理計數數組count中剩下的元素。

002計數排序的代碼實現?

public static void countSort(int[] arr) {
    if (arr == null || arr.length < 2) {
        return;
    }
    int max = Integer.MIN_VALUE;
    for (int i = 0; i < arr.length; i++) {
        max = Math.max(max, arr[i]);
    }
    int[] bucket = new int[max + 1];
    for (int i = 0; i < arr.length; i++) {
        bucket[arr[i]]++;
    }
    int i = 0;
    for (int j = 0; j < bucket.length; j++) {
        while (bucket[j]-- > 0) {
            arr[i++] = j;
        }
    }
}    

目錄

返回頂部
主站蜘蛛池模板: 狼人香蕉国产在线视频 | 色香欲综合天天影院综合 | 亚洲性色永久网址 | 亚洲欧美日产综合一区二区三区 | 国产黄色大片网站 | 免费高清欧美一区二区视频 | 最近最新中文字幕免费高清1 | 波少野结衣色在线 | 亚洲综合久久伊人热 | 高跟鞋性xxxxhd| 伊人手机在线视频 | 夜夜尻| 日本一道本在线视频 | 欧美日韩不卡视频 | 精品一区二区三区高清免费观看 | 在线观看国产免费高清不卡 | 特级做a爰片毛片免费看一区 | 亚洲va韩国va欧美va天堂 | 亚洲国产日韩在线观频 | 91污污视频| 日韩黄色精品 | 午夜 在线播放 | 小明在看看永久免费平台 | 黄色大片免费观看 | 成人久久久观看免费毛片 | 一级毛片免费全部播放完整 | 国产一二三四区中 | 亚洲高清一区二区三区四区 | 欧美又粗又硬又大久久久 | 一品毛片| 国产日本欧美在线观看乱码 | a级黄色免费 | 免费在线视频日本 | 天天操天天干天天摸 | 日本视频中文字幕一区二区 | 亚洲无线一二三四区 | 色噜噜狠狠色综合久 | 亚洲伦理 | 亚洲成av人影片在线观看 | 男女做爽爽视频免费观看 | 婷婷综合亚洲 |