基数排序[java]

2021/9/23 20:12:35

本文主要是介绍基数排序[java],对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

基数排序不需要对数字进行比较,而是按照个十百位进行复制粘贴。

基数排序是桶排序的一种

假设要排序的数组为[53,542,3,63,14,214,154,748,616]

首先需要对数组内的数取出最多位数的数

可见数组内最大数的Length的长度为3位

然后创建10个桶,每个桶大小为数组的大小保证能放下元素

在提供一个辅助数组来记录个位数元素的数量

假如:个位数为3那就把元素放到桶中下标为3的数组中

count为桶辅助数组记录的下标也是桶的下标

辅助数组记录了一个元素则++

然后按照桶数组的顺序取出元素重新放到原数组中

index为索引值

循环个数为辅助数组的长度如果辅助数组中的下标元素为0那表示没有该个位数

sup[i]不为0代表有元素

 

 十位百位同理

 

 

 



这篇关于基数排序[java]的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程