java链式队列基数排序_基数排序 顺序实现与链式实现

最近数据结构刚刚讲完了基数排序,以下我的一些见解:

大多数的排序都是通过比较数据大小的方法对待排数据序列进行排序整理过程。

而基数排序却很另类,那么,基数排序是采用怎样的策略进行排序的呢?

简要概括一下:基数排序是通过“分配”和“收集”两个过程来实现排序的。

而这个思想该如何理解呢?请看以下例子:

(1)有以下待排序列

309 385 867 183 341 605 385

(2)第一次分配和收集:

首先按照各个数据的个位数字(即按照9,5,7,3,1,5,5)分配到0-9的10个区间内

结果如下:

9fce9912c54ffaeccfc25934e9d3a69e.png

分配结束后。接下来将所有空间中的数据按照序号由小到大依次重新收集起来,得到如下仍然无序的数据序列:

0877b59747658a4112f90818ee34e7f9.png

(3)第二次分配和收集:

这次按照十位数字进行分配,步骤同上

结果如下:

7e5ded7366aa8c756ff1f1fcdbc6fb28.png

分配结束后。接下来将所有空间中的数据按照序号由小到大依次再次收集起来,得到如下仍然无序的数据序列:

412f39bb580250f8d3fd14a9c92bc54d.png

(4)第三次分配和收集:

这次按照百位数字进行分配,步骤同上

结果如下&#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值