Cod sursa(job #1021124)

Utilizator bghimisFMI Ghimis Bogdan bghimis Data 3 noiembrie 2013 11:54:40
Problema Sortare prin comparare Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.81 kb
#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);
}