From c8978f8a53b59a24792e96a818b9e854e8b2d6be Mon Sep 17 00:00:00 2001 From: ShantiMow <73178391+ShantiMow@users.noreply.github.com> Date: Thu, 13 Oct 2022 19:44:54 +0530 Subject: [PATCH] Create Bucket_sort.java --- JAVA/Algorithms/Sorting/Bucket_sort.java | 60 ++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 JAVA/Algorithms/Sorting/Bucket_sort.java diff --git a/JAVA/Algorithms/Sorting/Bucket_sort.java b/JAVA/Algorithms/Sorting/Bucket_sort.java new file mode 100644 index 0000000..ad197ff --- /dev/null +++ b/JAVA/Algorithms/Sorting/Bucket_sort.java @@ -0,0 +1,60 @@ +// Java program to sort an array +// using bucket sort +import java.util.*; +import java.util.Collections; + +class Bucket_sort { + + // Function to sort arr[] of size n + // using bucket sort + static void bucketSort(float arr[], int n) + { + if (n <= 0) + return; + + // 1) Create n empty buckets + @SuppressWarnings("unchecked") + Vector[] buckets = new Vector[n]; + + for (int i = 0; i < n; i++) { + buckets[i] = new Vector(); + } + + // 2) Put array elements in different buckets + for (int i = 0; i < n; i++) { + float idx = arr[i] * n; + buckets[(int)idx].add(arr[i]); + } + + // 3) Sort individual buckets + for (int i = 0; i < n; i++) { + Collections.sort(buckets[i]); + } + + // 4) Concatenate all buckets into arr[] + int index = 0; + for (int i = 0; i < n; i++) { + for (int j = 0; j < buckets[i].size(); j++) { + arr[index++] = buckets[i].get(j); + } + } + } + + // Driver code + public static void main(String args[]) + { + float arr[] = { (float)0.897, (float)0.565, + (float)0.656, (float)0.1234, + (float)0.665, (float)0.3434 }; + + int n = arr.length; + bucketSort(arr, n); + + System.out.println("Sorted array is "); + for (float el : arr) { + System.out.print(el + " "); + } + } +} + +