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:
Refactoring Design Pattern với tính năng mới trong Java 8
Custom Thread Pools In Java 8 Parallel Streams
Creating a Web Application with Spring 5
Giới thiệu về Stream API trong Java 8
Java Program to Implement Circular Doubly Linked List
Lớp Arrarys trong Java (Arrays Utility Class)
Java Program to Compute the Area of a Triangle Using Determinants
Java Program to Find a Good Feedback Vertex Set
Use Liquibase to Safely Evolve Your Database Schema
Java Program to Implement Lloyd’s Algorithm
Java Program to Implement Miller Rabin Primality Test Algorithm
The Dining Philosophers Problem in Java
Checking for Empty or Blank Strings in Java
Extract links from an HTML page
Write/Read cookies using HTTP and Read a file from the internet
Spring MVC Setup with Kotlin
Hướng dẫn sử dụng Java Annotation
Java Program to Find Number of Spanning Trees in a Complete Bipartite Graph
Java Program to Apply Above-Below-on Test to Find the Position of a Point with respect to a Line
Vector trong Java
Java Program to Perform the Unique Factorization of a Given Number
Một số tính năng mới về xử lý ngoại lệ trong Java 7
Spring Webflux and CORS
Java Program to Implement Vector API
Spring Boot - Twilio
Java Program to Find the GCD and LCM of two Numbers
Java Program to Implement IdentityHashMap API
Java Program to Perform Addition Operation Using Bitwise Operators
Quick Guide to Spring Controllers
Deploy a Spring Boot WAR into a Tomcat Server
Java NIO2 Path API
Sorting Query Results with Spring Data