Cod sursa(job #2055295)

Utilizator ScarymovieMocanu Alexandru Scarymovie Data 3 noiembrie 2017 00:20:40
Problema Sortare prin comparare Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <bits/stdc++.h>

using namespace std;
vector<int> v;deque<int> l[10];int n;
void radix_sort(long long putere)
{
    int ok=0;int i;
    for(i=0;i<n;++i)
        {l[v[i]/putere%10].push_back(v[i]);
         if(!ok && v[i]/putere%10) ok=1;
        }
    int j=0;
    for(i=0;i<10;++i)
        while(!l[i].empty()) {v[j++]=l[i].front();l[i].pop_front();}
    if(ok) radix_sort(putere*10);
}
int main()
{
    ifstream f("algsort.in");
    ofstream g("algsort.out");
    int i;
    f>>n;v.resize(n);
    for(i=0;i<n;++i)
        f>>v[i];
    radix_sort(1);
    for(i=0;i<n;++i)
        g<<v[i]<<' ';
    return 0;
}