diff --git a/Bucket-Sorting.java b/Bucket-Sorting.java new file mode 100644 index 0000000..b830014 --- /dev/null +++ b/Bucket-Sorting.java @@ -0,0 +1,48 @@ +import java.util.*; +import java.lang.*; +import java.io.*; + +class Main +{ + public static void main (String[] args) + { + int arr[] = { 30,40,10,80,5,12,70 }; + int n = arr.length; int k=4; + bucketSort(arr, n, k); + + for (int i = 0; i < n; i++) + System.out.print( arr[i] + " "); + + } + + static void bucketSort(int arr[], int n, int k) { + + int max_val=arr[0]; + for(int i=1;i[] buckets = new Vector[n]; + + for (int i = 0; i < n; i++) { + buckets[i] = new Vector(); + } + + for (int i = 0; i < n; i++) { + int idx = (arr[i] * k)/max_val; + buckets[(int)idx].add(arr[i]); + } + + for (int i = 0; i < k; i++) { + Collections.sort(buckets[i]); + } + + int index = 0; + for (int i = 0; i < k; i++) { + for (int j = 0; j < buckets[i].size(); j++) { + arr[index++] = buckets[i].get(j); + } + } + } +}