Skip to content

Commit 0aa624d

Browse files
authored
Created BucketSort.cpp
1 parent 8fc0552 commit 0aa624d

File tree

1 file changed

+38
-0
lines changed

1 file changed

+38
-0
lines changed

BucketSort.cpp

+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
// C++ BucketSort
2+
#include <iostream>
3+
#include <algorithm>
4+
#include <vector>
5+
using namespace std;
6+
7+
// Function to sort arr[] of size n using bucket sort
8+
void bucketSort(float arr[], int n)
9+
{
10+
//Create n empty buckets
11+
vector<float> b[n];
12+
// adds array elements in different buckets
13+
for (int i=0; i<n; i++)
14+
{
15+
int bi = n*arr[i]; // Index in bucket
16+
b[bi].push_back(arr[i]);
17+
}
18+
// Sort buckets individually
19+
for (int i=0; i<n; i++)
20+
sort(b[i].begin(), b[i].end());
21+
//Concatenate all buckets into arr[]
22+
int index = 0;
23+
for (int i = 0; i < n; i++)
24+
for (int j = 0; j < b[i].size(); j++)
25+
arr[index++] = b[i][j];
26+
}
27+
28+
//Main Funct
29+
int main()
30+
{
31+
float arr[] = {0.897, 0.565, 0.656, 0.1234, 0.665, 0.3434};
32+
int n = sizeof(arr)/sizeof(arr[0]);
33+
bucketSort(arr, n);
34+
cout << "Sorted array is \n";
35+
for (int i=0; i<n; i++)
36+
cout << arr[i] << " ";
37+
return 0;
38+
}

0 commit comments

Comments
 (0)