Bucket Sort | Java program to sort an array using bucket sort ; Function to sort arr [ ] of size n using bucket sort ; 1 ) Create n empty buckets ; 2 ) Put array elements in different buckets ; 3 ) Sort individual buckets ; 4 ) Concatenate all buckets into arr [ ] ; Driver code
import java . util . * ; import java . util . Collections ; class GFG { static void bucketSort ( float arr [ ] , int n ) { if ( n <= 0 ) return ; @ SuppressWarnings ( " unchecked " ) Vector < Float > [ ] buckets = new Vector [ n ] ; for ( int i = 0 ; i < n ; i ++ ) { buckets [ i ] = new Vector < Float > ( ) ; } for ( int i = 0 ; i < n ; i ++ ) { float idx = arr [ i ] * n ; buckets [ ( int ) idx ] . add ( arr [ i ] ) ; } for ( int i = 0 ; i < n ; i ++ ) { Collections . sort ( buckets [ i ] ) ; } 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 ) ; } } } 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 + " ▁ " ) ; } } }