Pagini recente » Cod sursa (job #402341) | Cod sursa (job #2046083) | Cod sursa (job #1824730) | Cod sursa (job #191627) | Cod sursa (job #2368176)
#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(b);
for(i=1;i<n;i++)
v.push_back(((a*v[i-1])%c+b)%c);
for(i=0;i<=24;i+=8)
{
for(j=0;j<n;j++)
{
q[(v[j]>>i)&255].push(v[j]);
}
int nr=0;
for(j=0;j<=255&&nr<n-1;j++)
{
while(!q[j].empty())
{
v[nr]=q[j].front();
q[j].pop();
nr++;
}
}
}
for(i=0;i<n;i+=10)
g<<v[i]<<" ";
}