This is a java program to sort an elements in order n time. Bucket sort can be used to achieve this goal. Bucket sort is O(n) algorithm in time but takes more space, than the normal algorithms.
Here is the source code of the Java Program to Implement Sorting of Less than 100 Numbers in O(n) Complexity. 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 less than 100 in O(n) time
//Bucket sort is O(n) algorithm
import java.util.Random;
public class Order_n_Sorting_Algorithm
{
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 O(n) BUCKET SORT algorithm");
Random random = new Random();
int N = 25;
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 Order_n_Sorting_Algorithm.java $ java Order_n_Sorting_Algorithm Sorting of randomly generated numbers using O(n) BUCKET SORT algorithm Original Sequence: 43 50 28 1 80 8 77 92 55 44 15 42 47 98 44 12 78 36 73 57 86 36 11 35 51 Sorted Sequence: 1 8 11 12 15 28 35 36 36 42 43 44 44 47 50 51 55 57 73 77 78 80 86 92 98
Related posts:
String Processing with Apache Commons Lang 3
A Guide To UDP In Java
Java Program to do a Depth First Search/Traversal on a graph non-recursively
A Guide to Java 9 Modularity
Abstract class và Interface trong Java
Thực thi nhiều tác vụ cùng lúc như thế nào trong Java?
Copy a List to Another List in Java
Java Optional as Return Type
Java Program to Implement Cartesian Tree
Java Program to Implement Bit Array
Java Program to implement Associate Array
Rest Web service: Filter và Interceptor với Jersey 2.x (P2)
Java Program to Implement LinkedTransferQueue API
Java Program to Implement Min Heap
Working with Network Interfaces in Java
HttpClient Connection Management
Xử lý ngoại lệ trong Java (Exception Handling)
Java Program to Perform Sorting Using B-Tree
Java Program to implement Bi Directional Map
Java Program to Implement Warshall Algorithm
Java – Byte Array to Reader
Collect a Java Stream to an Immutable Collection
The DAO with Spring and Hibernate
Java Program to Implement the String Search Algorithm for Short Text Sizes
Java Program to Print the Kind of Rotation the AVL Tree is Undergoing
Zipping Collections in Java
Spring Boot - Tomcat Deployment
Java Program to Implement Euler Circuit Problem
New Features in Java 10
Java Program to Perform Searching Based on Locality of Reference
Primitive Type Streams in Java 8
Jackson – Marshall String to JsonNode