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:
Lập trình đa luồng với CompletableFuture trong Java 8
Configuring a DataSource Programmatically in Spring Boot
A Guide to JUnit 5 Extensions
Spring REST API + OAuth2 + Angular (using the Spring Security OAuth legacy stack)
Collection trong java
Spring Boot: Customize Whitelabel Error Page
Spring 5 Functional Bean Registration
Connect through a Proxy
Toán tử trong java
Java Program to Implement ArrayList API
Migrating from JUnit 4 to JUnit 5
Java Program to Implement Multi-Threaded Version of Binary Search Tree
Create a Custom Exception in Java
Request Method Not Supported (405) in Spring
Enum trong java
JUnit5 Programmatic Extension Registration with @RegisterExtension
Java Program to Check for balanced parenthesis by using Stacks
Spring Security Form Login
New Features in Java 14
Java Program to Implement IdentityHashMap API
Java Program to Implement the Bin Packing Algorithm
Serialize Only Fields that meet a Custom Criteria with Jackson
Using a Custom Spring MVC’s Handler Interceptor to Manage Sessions
Instance Profile Credentials using Spring Cloud
ClassNotFoundException vs NoClassDefFoundError
REST Web service: Basic Authentication trong Jersey 2.x
Check If Two Lists are Equal in Java
Generic Constructors in Java
Working With Maps Using Streams
Guide to Selenium with JUnit / TestNG
Handle EML file with JavaMail
Java Program to Implement Meldable Heap