Cod sursa(job #1067884)

Utilizator cioionutFMI Ionut Ciocoiu cioionut Data 27 decembrie 2013 16:59:16
Problema Sortare prin comparare Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include<iostream>
#include<fstream>
#include<vector>
#define minint -2^32-1
using namespace std;
vector <int> x;
void radix(int d)
{
    vector <int> a[10];
    for(int i=0;i<x.size();i++) a[x[i]/d%10].push_back(x[i]);
    int k=0;
    for(int j=0;j<10;j++)
        for(int i=0;i<a[j].size();i++) x[k++]=a[j][i];
}
int main()
{
    ifstream f("algsort.in");
    ofstream g("algsort.out");
    int m=minint,n,i,y=0;
    f>>n;
    for(i=0;i<n;i++)
    {
       f>>y;
       x.push_back(y);
       if(y>m) m=y;
    }
    int d=1;
    while (m)
    {
        radix(d);
        d*=10;
        m/=10;
    }
    for(i=0;i<x.size();i++) g<<x[i]<<" ";

    return 0;
}