Pagini recente » Cod sursa (job #2978063) | Cod sursa (job #2062806) | Cod sursa (job #2661263) | Cod sursa (job #1886347) | Cod sursa (job #2272668)
#include<fstream>
#include<vector>
#define B 31
using namespace std;
ifstream cin("algsort.in");
ofstream cout("algsort.out");
vector<int> radix(vector<int> v){
for(int i = 0; i < B; i++){
vector<int> aux[2];
for(int j = 0; j < v.size(); j++)
aux[(v[j] >> i) & 1].push_back(v[j]);
v.erase(v.begin(), v.end());
v = aux[0];
for(int j = 0; j < aux[1].size(); j++)
v.push_back(aux[1][j]);
}
return v;
}
int main(){
int n;
cin>>n;
vector<int> v;
for(int i = 0; i < n; i++){
int x;
cin>>x;
v.push_back(x);
}
v = radix(v);
for(int i = 0; i < v.size(); i++)
cout<<v[i]<<' ';
cout<<endl;
return 0;
}