本文介绍了排序算法的 Java 代码实现,所有代码均可通过 菜鸟工具在线编译器 直接运行,因此打算整理一下分享给大家。
简介基数排序是另外一种比较有特色的排序方式,它不需要直接对元素进行相互比较,也不需要将元素相互交换,你需要做的就是对元素进行“分类”。
基数排序(以整形为例),将整形10进制按每位拆分,然后从低位到高位依次比较各个位。主要分为两个过程: (1) 分配,先从个位开始,根据位值(0-9)分别放到0~9号桶中(比如53,个位为3,则放入3号桶中) (2) 收集,再将放置在0~9号桶中的数据按顺序放到数组中 重复(1)(2)过程,从个位到最高位(比如32位无符号整形最大数4294967296,最高位10位)
实例1. Java 代码
public class Main {
public static void main(String[] args) {
int[] a = {13,25,1111,232,4454,79,86,98,61,447};
System.out.println("初始值:");
printArray(a);
a= sort(a);
System.out.println("\n排序后:");
printArray(a);
}
public static int[] sort(int[] data) {
int maxLength = getMaxLength(data);
int[] temp = baseSort(data,0,maxLength);
return temp;
}
private static int[] baseSort(int[] data,int i,int maxLength) {
if(i >= maxLength) {
return data;
}
int len = data.length;
int[] count = new int[10];
int[] temp = new int[len];
for (int j = 0;j
关注
打赏