import java.util.Arrays;
public class jishuSort {
public static void main(String[] args) {
int arr[] = {9,8,7,6,5,4,3,2,1};
radixSort(arr);
System.out.println(Arrays.toString(arr));
}
public static void radixSort(int arr[]){
int max = arr[0];
for(int i =1;i<arr.length;i++){
if(max<arr[i]){
max = arr[i];
}
}
int[][] bucket = new int[10][arr.length];
int[] p = new int[10];
int maxLength = (max+"").length();
for(int i = 0, n = 1;i<arr.length;i++,n *= 10){
for(int j = 0;j< arr.length;j++){
int x = arr[j] / n % 10;
bucket[x][p[x]] = arr[j];
p[x]++;
}
int index = 0;
for(int k = 0;k < bucket.length;k++){
if(p[k] != 0){
for(int l = 0;l < p[k];l++){
arr[index++] = bucket[k][l];
}
}
p[k] = 0;
}
}
}
}
基数排序(数组7)
最新推荐文章于 2024-10-05 21:10:28 发布