From 49d3c02809e9cf84dd129c673ebe3b3843274854 Mon Sep 17 00:00:00 2001 From: Love Sikka Date: Wed, 15 Oct 2025 20:44:20 +0530 Subject: [PATCH] Added Bucket Sort --- Java/sorting/BucketSort.java | 38 ++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 Java/sorting/BucketSort.java diff --git a/Java/sorting/BucketSort.java b/Java/sorting/BucketSort.java new file mode 100644 index 0000000..5a16e7a --- /dev/null +++ b/Java/sorting/BucketSort.java @@ -0,0 +1,38 @@ +import java.util.*; + +public class BucketSort { + public static void bucketSort(float[] arr) { + int n = arr.length; + if (n <= 0) + return; + + @SuppressWarnings("unchecked") + List[] buckets = new ArrayList[n]; + for (int i = 0; i < n; i++) { + buckets[i] = new ArrayList<>(); + } + + for (float value : arr) { + int index = (int) (value * n); + buckets[index].add(value); + } + + for (List bucket : buckets) { + Collections.sort(bucket); + } + + int idx = 0; + for (List bucket : buckets) { + for (float value : bucket) { + arr[idx++] = value; + } + } + } + + public static void main(String[] args) { + float[] arr = {0.42f, 0.32f, 0.23f, 0.52f, 0.25f, 0.47f, 0.51f}; + System.out.println("Before sorting: " + Arrays.toString(arr)); + bucketSort(arr); + System.out.println("After sorting: " + Arrays.toString(arr)); + } +}