Pagini recente » Cod sursa (job #1390799) | Cod sursa (job #1272710) | Cod sursa (job #985999) | Cod sursa (job #1904859) | Cod sursa (job #1024995)
#include<stdio.h>
#define MAX 500001
#define DIV 256
#include<vector>
using namespace std;
int n,v[MAX];
vector<int> ap[DIV];
int main()
{
freopen("algsort.in","r",stdin);
freopen("algsort.out","w",stdout);
scanf("%d",&n);
for(int i=0;i<n;++i)scanf("%d",&v[i]);
bool ok=true;
int p=1;
while(ok)
{
ok=false;
for(int i=0;i<n;++i){if((v[i]/p)%DIV!=0)ok=true;ap[(v[i]/p)%DIV].push_back(v[i]);}
int ind=0;
for(int i=0;i<DIV;++i)
for(int j=0;j<ap[i].size();++j)v[ind++]=ap[i][j];
p*=DIV;
for(int i=0;i<DIV;++i)ap[i].clear();
}
for(int i=0;i<n;++i)printf("%d ",v[i]);
return 0;
}