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 Hash Tables Chaining with Binary Trees
Java Program to Emulate N Dice Roller
OAuth2 Remember Me with Refresh Token
Java Program to Find Nearest Neighbor Using Linear Search
Java Program to Implement Borwein Algorithm
Java Program to add two large numbers using Linked List
Java Program to Perform integer Partition for a Specific Case
Spring Security Logout
Custom Exception trong Java
LinkedList trong java
Inheritance and Composition (Is-a vs Has-a relationship) in Java
Guide to java.util.Formatter
Java Program to Implement Binary Search Tree
Create a Custom Auto-Configuration with Spring Boot
Java Program to Solve the 0-1 Knapsack Problem
Converting String to Stream of chars
Marker Interface trong Java
Java Program to Implement Hash Tables with Linear Probing
Spring – Injecting Collections
Java Program to Find the Mode in a Data Set
Transactions with Spring and JPA
Java Multi-line String
Spring Boot - Internationalization
Creating Docker Images with Spring Boot
How to Read a File in Java
Tổng quan về ngôn ngữ lập trình java
Assert an Exception is Thrown in JUnit 4 and 5
Java Program to Perform Polygon Containment Test
Toán tử trong java
Array to String Conversions
Java Program to Implement Extended Euclid Algorithm
Spring AMQP in Reactive Applications