Cod sursa(job #750895)

Utilizator andrey13Letcanu Andrei andrey13 Data 23 mai 2012 17:01:26
Problema Sortare prin comparare Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.8 kb
#include<cstdio>
#include<deque>

using namespace std;

deque<int> a,b[10];
int i,n,k,l,o,p,nr,j,maxx,x;

int main()
{
    freopen("algsort.in","r",stdin);
    freopen("algsort.out","w",stdout);
    scanf("%d",&n);
    maxx=0;
    for(i=1; i<=n; i++)
    {
        scanf("%d",&x);
        a.push_back(x);
        if(maxx<x)maxx=x;
    }
    j=0;
    while(maxx>0)
    {
        maxx=maxx/10;
        j++;
    }
    k=10;
    l=1;
    for(i=1; i<=j+1; i++)
    {
        for(p=0; p<n; p++)
            b[a[p]/l%10].push_back(a[p]);

        a.clear();
        for(p=0; p<=9; p++)
            for(o=0; o<b[p].size(); o++)a.push_back(b[p][o]);
       for(p=0;p<=9;p++) b[p].clear();
      //  k=k*10;
        l=l*10;
    }
    for(i=0; i<n; i++)printf("%d ",a[i]);
    return 0;
}