排序算法之基数排序
来源:互联网 发布:剑三盾娘捏脸数据 编辑:程序博客网 时间:2024/05/15 01:13
原理:首先,将所有的数值按个位数划分到0-9个桶里面,将桶中的数值倒出,然后按十位数划分到0-9个桶中,然后倒出,依次类推,到最高位为止。
import java.util.*;
public class RadixSort {
public int[] radixSort(int[] A, int n) {
// write code here基数排序
if(A ==null || n<2)
return null;
int a =1;//除数,分离出关键字的各个整数位
int m=1;//指向的位数
int k=0;// 最后输出的结果
//高维表示0-9个桶,低维表示每个关键字各个位上的余数,每个桶内可能有n个值
int [][] number = new int [10][n];
//创建一个数组表示number数组的每一个桶里面的数目,
int [] count = new int [10];
while(m<=4){
for(int j=0;j<A.length;j++){
int lsd = ((A[j]/a)%10);//得到余数
number[lsd][count[lsd]] =A[j];
count[lsd]++;//余数为lsd,在哪个桶内也确定,因此将桶内的数目自加
}
for(int p=0;p<10;p++){
//将桶内的值取出,重新放入到数组中
if(count[p] !=0){//判断在哪个桶内的并且在该桶内的关键字的个数不为0
for(int q=0;q< count[p];q++){
A[k] = number[p][q];
k++;
}
}
count[p]=0;
}
k=0;
a*=10;
m++;
}
return A;
}
}
- 排序算法之基数排序
- 排序算法之基数排序
- 排序算法之基数排序
- 排序算法之基数排序
- 排序算法之基数排序
- 【排序算法】之基数排序
- 排序算法之基数排序
- 排序算法之基数排序
- 排序算法之基数排序
- 排序算法之基数排序
- 排序算法之基数排序
- 排序算法之基数排序
- 排序算法之基数排序
- 排序算法之基数排序
- 排序算法之基数排序
- 算法 排序算法之基数排序
- 排序算法之基数排序(JAVA)
- 排序算法大全之基数排序
- BaseAdapter优化防止内存泄漏
- 最好用的Python工具
- Java 多线程_1
- AS快捷键总结
- 每日一题之二叉树叶子节点的个数及第K层节点的个数
- 排序算法之基数排序
- chmod命令详细用法
- 统计同成绩学生人数
- 3.5 数组运算
- poj2318
- 介绍哈希函数及解决冲突的方法
- struts2的值栈的初步认识
- 文章标题
- 栈堆对于Activity的管理