This is a java program to implement Shell Sort Algorithm.
Here is the source code of the Java Program to Implement Shell Sort. The Java program is successfully compiled and run on a Windows system. The program output is also shown below.
//This is a program to sort numbers using Shell Sort
import java.util.Random;
public class Shell_Sort
{
public static int N = 20;
public static int[] sequence = new int[N];
public static void shellSort()
{
int increment = sequence.length / 2;
while (increment > 0)
{
for (int i = increment; i < sequence.length; i++)
{
int j = i;
int temp = sequence[i];
while (j >= increment && sequence[j - increment] > temp)
{
sequence[j] = sequence[j - increment];
j = j - increment;
}
sequence[j] = temp;
}
if (increment == 2)
increment = 1;
else
increment *= (5.0 / 11);
}
}
static void printSequence(int[] sorted_sequence)
{
for (int i = 0; i < sorted_sequence.length; i++)
System.out.print(sorted_sequence[i] + " ");
}
public static void main(String args[])
{
System.out
.println("Sorting of randomly generated numbers using SHELL SORT");
Random random = new Random();
for (int i = 0; i < N; i++)
sequence[i] = Math.abs(random.nextInt(100));
System.out.println("\nOriginal Sequence: ");
printSequence(sequence);
System.out.println("\nSorted Sequence: ");
shellSort();
printSequence(sequence);
}
}
Output:
$ javac Shell_Sort.java $ java Shell_Sort Sorting of randomly generated numbers using BUBBLE SORT Original Sequence: 67 57 55 13 83 80 29 89 30 46 68 71 6 12 5 3 68 8 18 6 Sorted Sequence: 3 5 6 6 8 12 13 18 29 30 46 55 57 67 68 68 71 80 83 89
Related posts:
How to Remove the Last Character of a String?
Bootstrap a Web Application with Spring 5
Java Web Services – Jersey JAX-RS – REST và sử dụng REST API testing tools với Postman
HttpClient Connection Management
Java Program to Implement the Hill Cypher
Java Program to Compute Determinant of a Matrix
Java Program to Implement Adjacency Matrix
Spring Boot - Code Structure
Java Program to Implement Hash Tables Chaining with Doubly Linked Lists
Iterable to Stream in Java
Mapping a Dynamic JSON Object with Jackson
A Guide to Concurrent Queues in Java
Copy a List to Another List in Java
Giới thiệu về Stream API trong Java 8
Convert Hex to ASCII in Java
Java Program to Check if a Matrix is Invertible
Comparing getPath(), getAbsolutePath(), and getCanonicalPath() in Java
Java Program to Find Whether a Path Exists Between 2 Given Nodes
Java Program to Check whether Directed Graph is Connected using DFS
Spring RestTemplate Error Handling
Java Program to Implement Dijkstra’s Algorithm using Queue
Spring REST API + OAuth2 + Angular
Java Program to Implement Max-Flow Min-Cut Theorem
Kết hợp Java Reflection và Java Annotations
Java Program to Represent Graph Using Adjacency List
Merging Streams in Java
Java – Reader to InputStream
Java Program to Implement Shunting Yard Algorithm
A Guide to TreeMap in Java
Java Program to Find the Nearest Neighbor Using K-D Tree Search
Java Program to Construct a Random Graph by the Method of Random Edge Selection
Spring Boot - Google OAuth2 Sign-In