zoukankan      html  css  js  c++  java
  • java中的计数排序算法

    public void countingsort(int[] array, int[] b, int k) 
        {
            //创建数组c
            int[] c = new int[k+1];
            for(int i=0;i<c.length;i++)
            {
                c[i] = 0;
            }
            //统计数组array中每个元素出现的次数
            for(int i=0;i<array.length;i++)
            {
                c[array[i]]++;
            }
            /**
             * 统计数组中小于等于某一个数的的个数
             * 因为小于等于0的数的个数就是等于0的个数,所以迭代从1开始
             */
            for(int i=1;i<c.length;i++)
            {
                c[i] =c[i] + c[i-1];
            }
            
            for(int i=0;i<array.length;i++)
            {
                /**
                 * 
                 */
                b[c[array[i]] - 1] = array[i];
                /**
                 * 
                 */
                c[array[i]]--;
            }
        }
        
        public static void main(String[] args) {
            int[] array =new int[]{3,13,5,2,55,17,20,1,6,5};
            int[] b = new int[10];
            new Counting().countingsort(array,b,55);//其中55为数组中最大的元素值
            for(int i=0;i<b.length;i++)
            {
                System.out.print(b[i]+" ");
            }
        }
  • 相关阅读:
    登录注册功能
    29-----BBS论坛
    linux笔记
    nginx,uwsgi发布web服务器
    linux常用服务部署
    linux系统基础优化及常用命令
    linux基本操作命令
    linux命令
    linux基础
    阿里云服务器搭建
  • 原文地址:https://www.cnblogs.com/suyun0702/p/12673469.html
Copyright © 2011-2022 走看看