各种排序算法的实现-11(基数排序算法)

来源:互联网 发布:java布尔类型比较 编辑:程序博客网 时间:2024/06/14 16:53

  这种算法可谓独树一帜,这种算法可以完全做到不需要比较 关键字。 也就是说 你排序的那些数字 无需要做大小比较。

         基数排序算法的基本思路如下

 比如有一组数, 009,003,239, 342,039,001,232。

  我们只需要从各位  并且归类即可。  首先 数字 只可能出现 0,1,2,3,4,5,6,7,8,9.

每个数的 每一位 只可能出现这10种情况, 那么就可以这样子做 首先取这些数的个位出来, 

 那么为1的有一个,为2的有两个,为3的有一个,为9的有三个,其他的都是为0个。


那么序列将会成为这样子,  001,342, 232,003,009,039,239.

   这是第一趟,  可以这样子描述

       先把这些数字按照他们个位的 情况进行存放,然后分配它们的十位数。

于是变成了 如下的样子 

       001,003,009,232,039,239,342.

ok,十位数分派完毕 再分派 千位数。

      001,003,009039,232,239,342.



可以看到 已经有序。

     简单点说,就是个位先比,然后比十位,再比较千位。

这样子当然到最后是有序的。

0 0
原创粉丝点击