阅读教程

RadixSort基数排序

[日期:2008-06-26] 来源:  作者:志伟

using System;

 

public class RadixSort

{

    public static int[] Sort(int[] ArrayToSort, int digit)

    {

        for (int k = 1; k <= digit; k++)

        {

            int[] tmpArray = new int[ArrayToSort.Length];

 

            int[] tmpCountingSortArray = new int[10] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };

 

            for (int i = 0; i < ArrayToSort.Length; i++)

            {

                int tmpSplitDigit = ArrayToSort[i] / (int)Math.Pow(10, k - 1) - (ArrayToSort[i] / (int)Math.Pow(10, k)) * 10;

                tmpCountingSortArray[tmpSplitDigit] += 1;

            }

 

            for (int m = 1; m < 10; m++)

            {

                tmpCountingSortArray[m] += tmpCountingSortArray[m - 1];

            }

 

            for (int n = ArrayToSort.Length - 1; n >= 0; n--)

            {

                int tmpSplitDigit = ArrayToSort[n] / (int)Math.Pow(10, k - 1) - (ArrayToSort[n] / (int)Math.Pow(10, k)) * 10;

                tmpArray[tmpCountingSortArray[tmpSplitDigit] - 1] = ArrayToSort[n];

                tmpCountingSortArray[tmpSplitDigit] -= 1;

            }

 

            for (int p = 0; p < ArrayToSort.Length; p++)

            {

                ArrayToSort[p] = tmpArray[p];

            }

        }

        return ArrayToSort;

    }

}

 

 

(责任编辑:志伟

     本站文章仅代表作者观点,本站仅传递信息,并不表示赞同或反对.转载本站点内容时请注明来自志伟教程资料网。如不注明,教程资料网将根据《互联网著作权行政保护办法》追究其相应法律责任。



      
      使用百度搜索:RadixSort基数排序百度中搜索:RadixSort基数排序
阅读:
录入:志伟

评论 】 【 推荐 】 【 打印
上一篇:C#随机字符串生成器源码
下一篇:C#获取MAC地址源码
本文评论       全部评论
发表评论


点评: 字数
姓名:

 
搜一下


 
本周热门教程
 

关于我们 | 广告合作 | 法律声明 | 联系站长 | 网站地图 | 网站搜索 | | Top ↑
Copyright © 志伟教程资料网 Powered by zhiweinet 1.0
 本栏目提供:RadixSort基数排序