#ifndef CA_UWATERLOO_ALUMNI_DWHARDER_BUCKET_SORT_BASIC #define CA_UWATERLOO_ALUMNI_DWHARDER_BUCKET_SORT_BASIC namespace Sorting_algorithms { namespace Bucket_sort { class Basic { public: static void sort( int *array, int n, int m ) { int *bucket = new int[m]; for ( int i = 0; i < m; ++i ) { bucket[i] = 0; } for ( int i = 0; i < n; ++i ) { ++( bucket[array[i]] ); } int out = 0; for ( int i = 0; i < m; ++i ) { for ( int j = 0; j < bucket[i]; ++j ) { array[out] = i; ++out; } } delete [] bucket; } }; } } #endif