Java Program to Implement Radix Sort

This is a Java Program to implement Radix Sort Algorithm. This program is to sort a list of numbers.
Here is the source code of the Java program to implement Radix Sort Algorithm. The Java program is successfully compiled and run on a Windows system. The program output is also shown below.

/**
 ** Java Program to Implement Radix Sort
 **/
 
import java.util.Scanner;
 
/** Class RadixSort **/
public class RadixSort 
{
    /** Radix Sort function **/
    public static void sort( int[] a)
    {
        int i, m = a[0], exp = 1, n = a.length;
        int[] b = new int[n];
        for (i = 1; i < n; i++)
            if (a[i] > m)
                m = a[i];
        while (m / exp > 0)
        {
            int[] bucket = new int[10];
 
            for (i = 0; i < n; i++)
                bucket[(a[i] / exp) % 10]++;
            for (i = 1; i < 10; i++)
                bucket[i] += bucket[i - 1];
            for (i = n - 1; i >= 0; i--)
                b[--bucket[(a[i] / exp) % 10]] = a[i];
            for (i = 0; i < n; i++)
                a[i] = b[i];
            exp *= 10;        
        }
    }    
    /** Main method **/
    public static void main(String[] args) 
    {
        Scanner scan = new Scanner( System.in );        
        System.out.println("Radix Sort Test\n");
        int n, i;
        /** Accept number of elements **/
        System.out.println("Enter number of integer elements");
        n = scan.nextInt();
        /** Create integer array on n elements **/
        int arr[] = new int[ n ];
        /** Accept elements **/
        System.out.println("\nEnter "+ n +" integer elements");
        for (i = 0; i < n; i++)
            arr[i] = scan.nextInt();
        /** Call method sort **/
        sort(arr);
        /** Print sorted Array **/
        System.out.println("\nElements after sorting ");        
        for (i = 0; i < n; i++)
            System.out.print(arr[i]+" ");            
        System.out.println();                     
    }    
}

Output:

Radix Sort Test
 
Enter number of integer elements
10
 
Enter 10 integer elements
877 567 3456 876 467 26 934 9876 1 4567
 
Elements after sorting
1 26 467 567 876 877 934 3456 4567 9876

Related posts:

Interface trong Java 8 – Default method và Static method
Java Program to Find Minimum Element in an Array using Linear Search
Java Program to Implement Quick Hull Algorithm to Find Convex Hull
Java Program to Implement Euclid GCD Algorithm
Refactoring Design Pattern với tính năng mới trong Java 8
Spring Boot Integration Testing with Embedded MongoDB
Java Program to Implement Hash Tables with Linear Probing
Guide to java.util.Formatter
Spring Boot - Unit Test Cases
Java Program to Perform Right Rotation on a Binary Search Tree
Disable Spring Data Auto Configuration
Java Program to Find the Shortest Path Between Two Vertices Using Dijkstra’s Algorithm
Spring Boot - Eureka Server
Uploading MultipartFile with Spring RestTemplate
Java Program to Construct an Expression Tree for an Prefix Expression
Spring Data JPA Delete and Relationships
Java Program to Implement Binary Heap
Java program to Implement Tree Set
Java Program to Implement CopyOnWriteArraySet API
Hướng dẫn Java Design Pattern – Adapter
Lập trình hướng đối tượng (OOPs) trong java
How to Iterate Over a Stream With Indices
Java Program to Implement Karatsuba Multiplication Algorithm
Registration with Spring Security – Password Encoding
Java Program to Solve TSP Using Minimum Spanning Trees
Recommended Package Structure of a Spring Boot Project
Receive email using IMAP
Serialize Only Fields that meet a Custom Criteria with Jackson
Introduction to Spring Method Security
Set Interface trong Java
What is Thread-Safety and How to Achieve it?
Java Program to Implement Suffix Array