• 基数排序


     1         /// <summary>
     2         /// 基数排序
     3         /// 原理:首先按个位数进行排序,再以十位数排序
     4         /// LSD的排序方式由键值的最右边开始,而MSD则相反,由键值的最左边开始。
     5         /// </summary>
     6         /// <param name="v"></param>
     7         /// <returns></returns>
     8         public static int[] RadixSort(int[] v)
     9         {
    10             int[] temp = new int[10];
    11             for (int i = 0; i < v.Length; i++)
    12             {
    13                 int k = v[i] % 10;
    14                 temp[k] = v[i];
    15             }
    16 
    17             v = getV(temp, v);            
    18 
    19             for (int n = 0; n < v.Length; n++)
    20             {
    21                 int m = v[n] / 10;
    22                 if (m == 0)
    23                     m = v[n] % 10;
    24                 temp[m] = v[n];
    25             }
    26 
    27             v = getV(temp, v);  
    28 
    29             return v;
    30         }
    31 
    32         /// <summary>
    33         /// 得到新数组
    34         /// </summary>
    35         /// <param name="temp"></param>
    36         /// <param name="v"></param>
    37         /// <returns></returns>
    38         public static int[] getV(int[] temp, int[] v)
    39         {
    40             int i = 0;
    41             for (int j = 0; j < temp.Length; j++)
    42             {
    43                 if (temp[j] > 0)
    44                 {
    45                     v[i] = temp[j];
    46                     temp[j] = 0;
    47                     i++;
    48                 }
    49             }
    50 
    51             return v;
    52         }
    工欲善其事,必先利其器。
  • 相关阅读:
    Linux-exec族函数
    Linux-竟态初步引入
    Linux-waitpid介绍
    Java基础:Java运算符:算术运算符
    Java中的算术运算符
    JAVA冒泡排序
    引用 java的一些基本概念
    Tomcat服务器的下载安装跟基本配置
    Tomcat配置Web站点
    Tomcat+JSP经典配置实例
  • 原文地址:https://www.cnblogs.com/zhangzhu/p/2836129.html
Copyright © 2020-2023  润新知