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:

Apache Commons Collections BidiMap
Convert Character Array to String in Java
Lớp Collections trong Java (Collections Utility Class)
Hướng dẫn sử dụng Java Annotation
Java – Generate Random String
Tránh lỗi ConcurrentModificationException trong Java như thế nào?
Spring Boot Annotations
Java Program to Check if a Given Graph Contain Hamiltonian Cycle or Not
Guide to the Volatile Keyword in Java
Changing Annotation Parameters At Runtime
Java Program to Implement Dijkstra’s Algorithm using Priority Queue
Mapping a Dynamic JSON Object with Jackson
Java Program to Implement Sorted Doubly Linked List
Phương thức forEach() trong java 8
Java Program to Implement Branch and Bound Method to Perform a Combinatorial Search
Java Collections Interview Questions
4 tính chất của lập trình hướng đối tượng trong Java
Spring Boot - Admin Server
Tiêu chuẩn coding trong Java (Coding Standards)
Spring Boot - Rest Template
Java Program to Implement Borwein Algorithm
New Features in Java 13
Java Program to Perform Optimal Paranthesization Using Dynamic Programming
Java Program to Implement Gauss Seidel Method
Java Program to Implement Hash Tables Chaining with List Heads
Java Program to Implement ConcurrentHashMap API
Java Program to Implement SimpeBindings API
Java Program to Represent Graph Using Adjacency Matrix
Guide to DelayQueue
Java Program to Use Dynamic Programming to Solve Approximate String Matching
Chuyển đổi Array sang ArrayList và ngược lại
Handling URL Encoded Form Data in Spring REST