Tuesday, 23 September 2014

Bucket Sort

#include<iostream>
#include<algorithm>
#include<vector>
using namespace std; 

void bucketSort(float arr[] , int  n) ;

int main()
{
float arr[] = { 0.897, 0.565, 0.656, 0.1234, 0.665, 0.3434 };
int n = sizeof(arr)/ sizeof(arr[0]);

bucketSort(arr, n); 
cout << " sorted array is \n  ";
for (int i = 0; i < n; ++i)
{
cout << arr[i] << " "; 

}

getchar();
return 0; 


}

void bucketSort(float arr[],const int n ) { 
// make a vector of n  empty buckets
vector <float> bucket[6];

//put array elemnts in different buckets 
for (int i = 0; i < n; ++i){
int bi = n * arr[i];
bucket[bi].push_back[arr[i]];



}
//sort individual buckets
for (int i = 0; i < n; ++i)
sort(bucket[i].begin(), bucket[i].end());
int index = 0;
//concatanate all buckets into 
for (int i = 0 ; i < n ; ++i)
for (int j = 0; j < bucket[i].size(); ++j)
arr[index++] = bucket[i][j];

}

No comments:

Post a Comment