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:

Một số ký tự đặc biệt trong Java
Java Program to Implement Sieve Of Atkin
Luồng Daemon (Daemon Thread) trong Java
Java Program to Find a Good Feedback Edge Set in a Graph
Loại bỏ các phần tử trùng trong một ArrayList như thế nào?
Spring Data JPA and Null Parameters
Transactions with Spring and JPA
Spring Cloud – Adding Angular
Java Program to Generate a Random Subset by Coin Flipping
A Guide to JUnit 5
Servlet 3 Async Support with Spring MVC and Spring Security
OAuth2 for a Spring REST API – Handle the Refresh Token in AngularJS
Java Program to Implement Rope
Hướng dẫn Java Design Pattern – Command
Spring Security – Reset Your Password
Spring Boot - Building RESTful Web Services
ETL with Spring Cloud Data Flow
Java Program to Implement Sorted List
Java Program to find the number of occurrences of a given number using Binary Search approach
Queue và PriorityQueue trong Java
Java Program to Implement Network Flow Problem
Form Validation with AngularJS and Spring MVC
Java Program to Implement Dijkstra’s Algorithm using Set
Java Program to Use Boruvka’s Algorithm to Find the Minimum Spanning Tree
Java Program to Generate a Graph for a Given Fixed Degree Sequence
Java Program to Implement Disjoint Sets
Convert Hex to ASCII in Java
Java Program to Find Number of Articulation points in a Graph
Java Program to Implement HashSet API
Spring REST API + OAuth2 + Angular
The Guide to RestTemplate
Java Program to Create a Minimal Set of All Edges Whose Addition will Convert it to a Strongly Conne...