zoukankan      html  css  js  c++  java
  • 算法

     基数排序

    public  void BaseSord(int[] numbers ,int bits)
        {
            int m = 1;
            int n =1;
            int k = 0;
            int length=numbers.Length;
            int[,]  temp=new int[10,length];
            int[] arrOrder = new int[10];
            while (m <= bits)
            {
                //把数据分到桶里面 length次循环
                for (int i = 0; i < length; i++)
                {
                    int index = (numbers[i] / n) % 10;
                    temp[index, arrOrder[index]] = numbers[i];
                    arrOrder[index]++;
                }
                //把数据放回数组里面 length次循环
                for (int i = 0; i < 10; i++)
                {
                    if (arrOrder[i] != 0)
                    {
                        for (int j = 0; j < arrOrder[i]; j++)
                        {
                            numbers[k] = temp[i, j];
                            k++;
                        }
                    }
                    //回复数据初始状态
                    arrOrder[i] = 0;
                }
                n *= 10;
                m++;
                k = 0;

            }
        }

  • 相关阅读:
    文件权限命令
    复制、移动文件及目录命令
    创建、删除文件及目录命令
    绝对路径和相对路径
    查找文件命令
    链接命令
    文本搜索命令
    编辑器 vim
    有参装饰器与迭代器
    闭包函数与装饰器
  • 原文地址:https://www.cnblogs.com/lorking/p/3865053.html
Copyright © 2011-2022 走看看