>>345
#include <iostream>
#include <algorithm>
#include <iterator>

const int N = 100; // 例えば

void bucket_sort(int a[], int n)
{
int* bucket = new int[n];

for (int i = 0; i < n; i++)
bucket[a[i]] = a[i];

for(int i = 0; i < n; i++)
a[i] = bucket[i];

delete[] bucket;
}

int main()
{
int a[N];

for (int i = 0; i < N; i++)
a[i] = i;
std::random_shuffle(a, a + N);
std::cout << "ソート前 : ";
std::copy(a, a + N, std::ostream_iterator<int>(std::cout, " "));
std::cout << std::endl;