This is a Java Program to implement Counting Sort Algorithm. This program is to sort a list of numbers.
Here is the source code of the Java program to implement Counting 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 Counting Sort **/ import java.util.Scanner; /** Class CountingSort **/ public class CountingSort { private static final int MAX_RANGE = 1000000; /** Counting Sort function **/ public static void sort( int[] arr ) { int N = arr.length; if (N == 0) return; /** find max and min values **/ int max = arr[0], min = arr[0]; for (int i = 1; i < N; i++) { if (arr[i] > max) max = arr[i]; if (arr[i] < min) min = arr[i]; } int range = max - min + 1; /** check if range is small enough for count array **/ /** else it might give out of memory exception while allocating memory for array **/ if (range > MAX_RANGE) { System.out.println("\nError : Range too large for sort"); return; } int[] count = new int[range]; /** make count/frequency array for each element **/ for (int i = 0; i < N; i++) count[arr[i] - min]++; /** modify count so that positions in final array is obtained **/ for (int i = 1; i < range; i++) count[i] += count[i - 1]; /** modify original array **/ int j = 0; for (int i = 0; i < range; i++) while (j < count[i]) arr[j++] = i + min; } /** Main method **/ public static void main(String[] args) { Scanner scan = new Scanner( System.in ); System.out.println("Counting 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(); } }
Counting Sort Test Enter number of integer elements 20 Enter 20 integer elements 54 67 13 24 76 37 97 10 67 24 6 28 5 19 63 1 71 83 97 24 Elements after sorting 1 5 6 10 13 19 24 24 24 28 37 54 63 67 67 71 76 83 97 97
Related posts:
Java Program to Implement Hash Tables Chaining with List Heads
Java Program to Find the Connected Components of an UnDirected Graph
Marker Interface trong Java
Spring WebClient vs. RestTemplate
Converting a Stack Trace to a String in Java
Hướng dẫn sử dụng lớp Console trong java
Java Program to Implement AA Tree
Java Program to Generate a Random Subset by Coin Flipping
Implementing a Binary Tree in Java
Finding the Differences Between Two Lists in Java
Mệnh đề if-else trong java
Java – Combine Multiple Collections
ETL with Spring Cloud Data Flow
Java Program to Check Whether Graph is DAG
Java Program to implement Array Deque
How to Implement Caching using Adonis.js 5
Array to String Conversions
Default Password Encoder in Spring Security 5
Overflow and Underflow in Java
Quick Guide to Spring MVC with Velocity
Java Concurrency Interview Questions and Answers
The Spring @Controller and @RestController Annotations
Lớp Arrarys trong Java (Arrays Utility Class)
Java Program to Compute Discrete Fourier Transform Using Naive Approach
Spring Boot - Flyway Database
Mix plain text and HTML content in a mail
Java Program to Find SSSP (Single Source Shortest Path) in DAG (Directed Acyclic Graphs)
Java Program to Implement Trie
Java Program to Implement Borwein Algorithm
Java Program to Implement Miller Rabin Primality Test Algorithm
Converting Between a List and a Set in Java
Spring Boot - Quick Start