Pagini recente » Cod sursa (job #2803989) | Cod sursa (job #1856414) | Cod sursa (job #1941891) | Cod sursa (job #1115246) | Cod sursa (job #1021124)
#include <fstream>
#include <algorithm>
#include <vector>
using namespace std;
ifstream cin("algsort.in");
ofstream cout("algsort.out");
int hash(int x)
{
return x >> 16;
}
void bucketSort (vector<int>& v)
{
vector<int> buckets[v.size()];
for (vector<int>::iterator i = v.begin(); i != v.end(); ++i)
{
buckets[hash(*i)].push_back(*i);
}
for (unsigned int i = 0; i < v.size(); ++i)
sort (buckets[i].begin(), buckets[i].end());
for (unsigned int i = 0; i < v.size(); ++i)
{
for (vector<int>::iterator j = buckets[i].begin(); j != buckets[i].end(); ++j)
cout << *j << " ";
}
}
int main()
{
int n; cin >> n;
vector<int> v;
for (int i = 0; i < n; ++i)
{
int x; cin >> x;
v.push_back(x);
}
bucketSort(v);
}