Pagini recente » Cod sursa (job #2494994) | Cod sursa (job #1862308) | Cod sursa (job #2858771) | Cod sursa (job #388573) | Cod sursa (job #2368187)
#include <iostream>
#include <fstream>
#include <vector>
#include <queue>
using namespace std;
ifstream f("radixsort.in");
ofstream g("radixsort.out");
vector <int> v;
queue <int> q[257];
int i,j,nr,a,b,c,n;
int main()
{
f>>n>>a>>b>>c;
v.push_back(0);
v.push_back(b);
for(i=2;i<=n;i++)
v.push_back(((a*v[i-1])%c+b)%c);
for(i=0;i<=24;i+=8)
{
for(j=1;j<=n;j++)
{
q[(v[j]>>i)&255].push(v[j]);
}
int nr=0;
for(j=0;j<=255&&nr<n;j++)
{
while(!q[j].empty())
{
v[++nr]=q[j].front();
q[j].pop();
}
}
}
for(i=1;i<=n;i+=10)
g<<v[i]<<" ";
}