编程语言
首页 > 编程语言> > 基数排序[java]

基数排序[java]

作者:互联网

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

基数排序是桶排序的一种

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

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

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

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

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

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

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

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

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

index为索引值

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

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

 

 十位百位同理

 

 

 

标签:java,个位数,元素,辅助,基数排序,数组,下标
来源: https://blog.csdn.net/qq_39888626/article/details/120440312