zoukankan      html  css  js  c++  java
  • 计数排序

     十大常用的排序算法中,这三种算法都用到了桶的概念

    • 基数排序:根据键值的每位数字来分配桶;
    • 计数排序:每个桶只存储单一键值;
    • 桶排序:每个桶存储一定范围的数值;
     1 public class MyCountSort {
     2     public static void main(String[] args) {
     3         int num[] = {10, 10, 33, 54, 33, 6, 6, 7, 3, 3};
     4         countingSort(num);
     5     }
     6 
     7     private static void countingSort(int[] num) {
     8         int min = num[0];
     9         int max = num[0];
    10         for (int i = 0; i < num.length; i++) {
    11             if (num[i] > max) {
    12                 max = num[i];
    13             }
    14             if (num[i] < min) {
    15                 min = num[i];
    16             }
    17         }
    18         int offset = 0 - min;
    19         int count[] = new int[max - min + 1];
    20         for (int i = 0; i < num.length; i++) {
    21             count[num[i] + offset]++;
    22         }
    23         for (int i = 0; i < count.length; i++) {
    24             while (count[i] > 0) {
    25                 System.out.print(i - offset + " ");
    26                 count[i]--;
    27             }
    28         }
    29     }
    30 }
    View Code
  • 相关阅读:
    Java-LockSupport
    Kafka Eagle 安装
    Kafka shell
    python pip 使用
    Kafka 集群部署
    Kafka 概述
    DockerFile 简单使用
    《深入理解Java虚拟机》读书笔记
    linux安装redis
    Java多线程基础知识例子
  • 原文地址:https://www.cnblogs.com/zz-1120-wtenlb/p/13364529.html
Copyright © 2011-2022 走看看