Pagini recente » Cod sursa (job #1755120) | Cod sursa (job #1901433) | Cod sursa (job #199675) | Monitorul de evaluare | Cod sursa (job #2055294)
#include <bits/stdc++.h>
using namespace std;
vector<int> v;deque<int> l[10];int n;
void radix_sort(int 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;
}