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:
Auditing with JPA, Hibernate, and Spring Data JPA
Working with Tree Model Nodes in Jackson
Jackson – Change Name of Field
Java Program to Implement Weight Balanced Tree
Java – Byte Array to Reader
Java Program to Check if a Point d lies Inside or Outside a Circle Defined by Points a, b, c in a Pl...
Using the Not Operator in If Conditions in Java
Exception Handling in Java
Uploading MultipartFile with Spring RestTemplate
Mockito and JUnit 5 – Using ExtendWith
SOAP Web service: Authentication trong JAX-WS
Number Formatting in Java
Deque và ArrayDeque trong Java
Giới thiệu Google Guice – Injection, Scope
Java Program to Implement Jarvis Algorithm
Using Optional with Jackson
Spring Boot Integration Testing with Embedded MongoDB
A Quick Guide to Spring Cloud Consul
Prevent Brute Force Authentication Attempts with Spring Security
Java Program to Implement Skip List
Java Program to Implement PriorityQueue API
Extra Login Fields with Spring Security
Java Program to Implement Counting Sort
Lớp HashMap trong Java
Một số ký tự đặc biệt trong Java
Different Ways to Capture Java Heap Dumps
Java Program to Optimize Wire Length in Electrical Circuit
Java Program to Implement Shoelace Algorithm
Java Program to Find the Edge Connectivity of a Graph
Properties with Spring and Spring Boot
Hướng dẫn Java Design Pattern – Chain of Responsibility
4 tính chất của lập trình hướng đối tượng trong Java