diff --git a/sorting/Bucket_Sort/bucket_sort.cpp b/sorting/Bucket_Sort/bucket_sort.cpp new file mode 100644 index 00000000..0ec804bc --- /dev/null +++ b/sorting/Bucket_Sort/bucket_sort.cpp @@ -0,0 +1,29 @@ +#include +#include +#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; +} \ No newline at end of file diff --git a/sorting/bucket_sort.cpp b/sorting/bucket_sort.cpp new file mode 100644 index 00000000..0ec804bc --- /dev/null +++ b/sorting/bucket_sort.cpp @@ -0,0 +1,29 @@ +#include +#include +#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; +} \ No newline at end of file