Pagini recente » Cod sursa (job #3186105) | Cod sursa (job #1481757) | Cod sursa (job #202611) | Cod sursa (job #1588359) | Cod sursa (job #1021130)
#include <fstream>
#include <algorithm>
#include <vector>
using namespace std;
ifstream cin("algsort.in");
ofstream cout("algsort.out");
int v[500000];
int n;
int hashf(int x)
{
return x >> 16;
}
void bucketSort (int *v)
{
vector<int> buckets[n / 2];
for (int i = 0; i != n; ++i)
buckets[hashf(v[i])].push_back(v[i]);
for (int i = 0; i != n / 2; ++i)
sort (buckets[i].begin(), buckets[i].end());
for (int i = 0; i != n / 2; ++i)
{
for (vector<int>::iterator j = buckets[i].begin(); j != buckets[i].end(); ++j)
cout << *j << " ";
}
}
int main()
{
cin >> n;
for (int i = 0; i < n; ++i)
{
cin >> v[i];
}
bucketSort(v);
}