publicstaticvoidmain(String[] args) { int[] arr={53,63,542,748,14,214}; int max=arr[0]; for (inti=0; i < arr.length; i++) { if (arr[i]>max){ max=arr[i]; } } int count=(max+"").length();//要循环的次数 Queue<Integer> [] queues=newQueue[10]; for (inti=0; i < queues.length; i++) { queues[i]=newLinkedList<>(); } for (inti=0,n=1 ; i < count; i++,n*=10) { for (intj=0; j < arr.length; j++) { int tem=arr[j]/n%10;//获取数字 queues[tem].add(arr[j]); } int t=0; for (intj=0; j < queues.length; j++) { while (!queues[j].isEmpty()){ arr[t]=queues[j].remove();
t++; } }
} for (inti=0; i < arr.length; i++) { System.out.println(arr[i]); } }