Cod sursa(job #2184386)

Utilizator Alexandra06Pribagu Alexandra Alexandra06 Data 24 martie 2018 00:16:53
Problema Radix Sort Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include <iostream>

using namespace std;

int main()
{
    int n, ar[50], i, max=-1, p=1, d[10], j, grupe[50][50], k=0, c;
    cin>>n;
    for(i=1; i<=n; i++) {cin>>ar[i];
                         if(max<ar[i]) max=ar[i];}

    while(max) {k++;
                max/=10;}

    for(int pas=1; pas<=k; pas++)
    {
        for(j=0; j<=9; j++)
            d[j]=0;
        for(j=1; j<=n; j++)
        {
            c=ar[j]/p%10;
            d[c]++;
            grupe[c][d[c]]=ar[j];
        }
        n=0;
        for(i=0; i<10; i++)
            for(j=1; j<=d[i]; j++) ar[++n]=grupe[i][j];

        p*=10;
    }


    for(i=1; i<=n; i++)
        cout << ar[i] << " ";
    return 0;
}