From dc18f00077c0b226f4fd116aa626353846925d2c Mon Sep 17 00:00:00 2001 From: Vaibhav Varshney Date: Sat, 1 Oct 2022 23:59:06 +0530 Subject: [PATCH] Added Bucket Sort Algo --- CPP/sorting/bucketsort.cpp | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 CPP/sorting/bucketsort.cpp diff --git a/CPP/sorting/bucketsort.cpp b/CPP/sorting/bucketsort.cpp new file mode 100644 index 00000000..2a3763b7 --- /dev/null +++ b/CPP/sorting/bucketsort.cpp @@ -0,0 +1,29 @@ +#include +using namespace std; + +void bucketSort(float arr[], int n) +{ + vector b[n]; + for (int i = 0; i < n; i++) { + int bi = n * arr[i]; + b[bi].push_back(arr[i]); + } + for (int i = 0; i < n; i++) + sort(b[i].begin(), b[i].end()); + int index = 0; + for (int i = 0; i < n; i++) + for (int j = 0; j < b[i].size(); j++) + arr[index++] = b[i][j]; +} + +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] << " "; + return 0; +}