This is a java program to sort the numbers using the Bucket Sort Technique. The algorithm allocates the number of memory locations equal to maximum number and initializes all to zero, then each location is incremented as the numbers appears. The time complexity of the algorithm is O(n).
Here is the source code of the Java Program to Implement Bucket Sort. The Java program is successfully compiled and run on a Windows system. The program output is also shown below.
//This is a java program to sort numbers using bucket sort import java.util.Random; public class Bucket_Sort { static int[] sort(int[] sequence, int maxValue) { // Bucket Sort int[] Bucket = new int[maxValue + 1]; int[] sorted_sequence = new int[sequence.length]; for (int i = 0; i < sequence.length; i++) Bucket[sequence[i]]++; int outPos = 0; for (int i = 0; i < Bucket.length; i++) for (int j = 0; j < Bucket[i]; j++) sorted_sequence[outPos++] = i; return sorted_sequence; } static void printSequence(int[] sorted_sequence) { for (int i = 0; i < sorted_sequence.length; i++) System.out.print(sorted_sequence[i] + " "); } static int maxValue(int[] sequence) { int maxValue = 0; for (int i = 0; i < sequence.length; i++) if (sequence[i] > maxValue) maxValue = sequence[i]; return maxValue; } public static void main(String args[]) { System.out .println("Sorting of randomly generated numbers using BUCKET SORT"); Random random = new Random(); int N = 20; int[] sequence = new int[N]; for (int i = 0; i < N; i++) sequence[i] = Math.abs(random.nextInt(100)); int maxValue = maxValue(sequence); System.out.println("\nOriginal Sequence: "); printSequence(sequence); System.out.println("\nSorted Sequence: "); printSequence(sort(sequence, maxValue)); } }
Output:
$ javac Bucket_Sort.java $ java Bucket_Sort Sorting of randomly generated numbers using BUCKET SORT Original Sequence: 95 9 95 87 8 81 18 54 57 53 92 15 38 24 8 56 29 69 64 66 Sorted Sequence: 8 8 9 15 18 24 29 38 53 54 56 57 64 66 69 81 87 92 95 95
Related posts:
Java Program to Implement LinkedHashSet API
Java Program to Represent Graph Using 2D Arrays
An Introduction to Java.util.Hashtable Class
Jackson – Bidirectional Relationships
Java Program to Implement Hash Tables with Double Hashing
A Guide to @RepeatedTest in Junit 5
Java Program to Implement Word Wrap Problem
Spring Boot - Flyway Database
Tips for dealing with HTTP-related problems
Removing all Nulls from a List in Java
Creating Docker Images with Spring Boot
Spring Boot - Tracing Micro Service Logs
Spring Boot - Sending Email
Spring WebClient vs. RestTemplate
Spring JDBC
Java Program to Implement Rope
Java Program to Implement Gift Wrapping Algorithm in Two Dimensions
Guide to Escaping Characters in Java RegExps
Java Timer
Implementing a Binary Tree in Java
Java Program to Delete a Particular Node in a Tree Without Using Recursion
An Intro to Spring Cloud Zookeeper
Guide to java.util.concurrent.Future
Spring Boot - Interceptor
Java Program to Solve Travelling Salesman Problem for Unweighted Graph
Connect through a Proxy
Check if there is mail waiting
Spring Boot Actuator
Java Program to Perform Cryptography Using Transposition Technique
Encode a String to UTF-8 in Java
Spring Security 5 for Reactive Applications
Java Program to Find MST (Minimum Spanning Tree) using Prim’s Algorithm