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:
Using a List of Values in a JdbcTemplate IN Clause
REST Web service: Tạo ứng dụng Java RESTful Client với Jersey Client 2.x
Thực thi nhiều tác vụ cùng lúc như thế nào trong Java?
Java Program to Implement Gauss Jordan Elimination
Java – Write an InputStream to a File
Java Program to Implement Triply Linked List
Returning Custom Status Codes from Spring Controllers
Java Program to Implement Booth Algorithm
Spring Data MongoDB Transactions
Apache Tiles Integration with Spring MVC
Java Program to Implement CopyOnWriteArraySet API
Java Program to Solve Travelling Salesman Problem for Unweighted Graph
Java Program to Perform Encoding of a Message Using Matrix Multiplication
Java Program to Check if it is a Sparse Matrix
Java Program to Perform Quick Sort on Large Number of Elements
How to Read HTTP Headers in Spring REST Controllers
Receive email using IMAP
Marker Interface trong Java
Java Program to Implement Sorted Array
Java Program to Implement VList
Java Multi-line String
Compare Two JSON Objects with Jackson
Guide to the Java TransferQueue
Quick Guide to Spring Controllers
Java Program to Emulate N Dice Roller
How to Define a Spring Boot Filter?
Spring Security 5 – OAuth2 Login
ETL with Spring Cloud Data Flow
Làm thế nào tạo instance của một class mà không gọi từ khóa new?
Chuyển đổi giữa các kiểu dữ liệu trong Java
Sorting Query Results with Spring Data
Properties with Spring and Spring Boot