Pagini recente » Cod sursa (job #2467961) | Cod sursa (job #1232788) | Cod sursa (job #983710) | Cod sursa (job #1707915) | Cod sursa (job #663215)
Cod sursa(job #663215)
#include<fstream>
using namespace std;
int n;
int a[500001], v[10][500001];
int main(){
ifstream f("algsort.in");
ofstream g("algsort.out");
f>>n;
int max=-1;
for(int i=1;i<=n;i++){
f>>a[i];
if(a[i]>max)
max=a[i];
}
int k=1;
int j=0;
int t;
while(max){
max=max/10;
j++;
}
while(j>=1){
for(int i=1;i<=n;i++){
t=(a[i]/k)%10;
v[t][0]++;
v[t][v[t][0]]=a[i];
}
int r=0;
for(int i=0;i<=9;i++){
for(int p=1; p<=v[i][0]; p++){
r++;
a[r]=v[i][p];
v[i][p]=0;
}
v[i][0]=0;
}
k=k*10;
j--;
}
for(int i=1;i<=n-1;i++)
g<<a[i]<<" ";
g<<a[n];
return 0;
}