#include<iostream>
#include<cmath>
#include<queue>
using namespace std;
int main()
{
int numbers[11]={10,34,23,112,32,54,234,110,11220,9430,1234};
queue<int> que[10];
int m=0,max=numbers[0];
for(int i=1;i<11;i++){
max=numbers[i]>max?numbers[i]:max;
}
while(max){
max/=10;
m++;
}
int i,j,k,t;
for(i=0;i<m;i++){
for(j=0;j<11;j++){
k=(int)(numbers[j]/pow(10,i))%10;
que[k].push(numbers[j]);
}
for(j=0,t=0;j<10;j++){
while(que[j].empty()==0){
int tmp=que[j].front();
que[j].pop();
numbers[t]=tmp;
t++;
}
}
}
for(int i=0;i<11;i++)
cout<<numbers[i]<<endl;
}
来源:CSDN
作者:猹弟
链接:https://blog.csdn.net/cup160828/article/details/104539416