Pagini recente » Cod sursa (job #2865041) | Cod sursa (job #786677) | Cod sursa (job #2055529) | Cod sursa (job #2443879) | Cod sursa (job #1021129)
#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];
for (int i = 0; i != n; ++i)
buckets[hashf(v[i])].push_back(v[i]);
for (int i = 0; i != n; ++i)
sort (buckets[i].begin(), buckets[i].end());
for (int i = 0; i != n; ++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);
}