class Test
{
public static void main(String[] args){
int[] arrayA = new int[]{232,435,456,831,546,567,275};
arrayA = RadixSort(arrayA, 3);
for (int i : arrayA) {
System.out.println(i);
}
}
public static int[] RadixSort(int[] arrayA, int k)
{
for (int i = k-1; i >= 0; i--)
{
//key sort
//extra memory
int[] number = new int[11];
int[] temp = new int[arrayA.length];
//count number
for(int j=0; j<arrayA.length; j++){
int key = (arrayA[j]/(int)Math.pow(10, k-1-i))%10;
number[key+1]++;
}
for(int j=0; j<number.length-1; j++){
number[j+1]+= number[j];
}
//arrange int
for(int j=0; j<arrayA.length; j++){
int key = (arrayA[j]/(int)Math.pow(10, k-1-i))%10;
temp[number[key]++] = arrayA[j];
}
//put it back
arrayA = temp;
}
return arrayA;
}
}
本文介绍了一个使用Java实现的基数排序算法。该算法适用于多位数的整数排序,并通过逐位比较来完成排序过程。示例代码展示了如何对一个包含7个整数的数组进行排序,同时提供了完整的排序实现细节。
132

被折叠的 条评论
为什么被折叠?



