This is a java program to implement Shaker Sort algorithm.
Here is the source code of the Java Program to Perform the Shaker Sort. 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 the numbers using Shaker Sort
import java.util.Random;
public class Shaker_Sort
{
public static void printSequence(int[] sorted_sequence)
{
for (int i = 0; i < sorted_sequence.length; i++)
System.out.print(sorted_sequence[i] + " ");
}
public static int[] shakerSort(int[] array) {
for (int i = 0; i < array.length/2; i++) {
boolean swapped = false;
for (int j = i; j < array.length - i - 1; j++) {
if (array[j] < array[j+1]) {
int tmp = array[j];
array[j] = array[j+1];
array[j+1] = tmp;
}
}
for (int j = array.length - 2 - i; j > i; j--) {
if (array[j] > array[j-1]) {
int tmp = array[j];
array[j] = array[j-1];
array[j-1] = tmp;
swapped = true;
}
}
if(!swapped) break;
}
return array;
}
public static void main(String args[])
{
System.out
.println("Sorting of randomly generated numbers using Shaker SORT");
Random random = new Random();
int N = 20;
int[] sequence = new int[N];
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: ");
printSequence(shakerSort(sequence));
}
}
Output:
$ javac Shaker_Sort.java $ java Shaker_Sort Sorting of randomly generated numbers using SHAKER SORT Original Sequence: 195 853 655 915 364 689 539 684 956 197 67 871 509 662 825 336 540 815 403 876 Sorted Sequence: 956 915 876 871 853 825 815 689 684 662 655 540 539 509 403 364 336 197 195 67
Related posts:
Spring Boot - Rest Controller Unit Test
Spring Security OAuth2 – Simple Token Revocation
Java Program to Generate All Subsets of a Given Set in the Gray Code Order
Java Program to Compute Discrete Fourier Transform Using Naive Approach
Filtering a Stream of Optionals in Java
A Guide to Java HashMap
Hướng dẫn Java Design Pattern – Memento
Spring Boot with Multiple SQL Import Files
Java Program to Implement Merge Sort on n Numbers Without tail-recursion
Java Program to Generate Random Numbers Using Middle Square Method
Spring Cloud AWS – S3
Hướng dẫn sử dụng Java Annotation
A Guide to Iterator in Java
Java Program to Describe the Representation of Graph using Adjacency List
Java Program to Implement Min Hash
Java Program to Implement Max Heap
Java Program to find the peak element of an array using Binary Search approach
Spring REST API + OAuth2 + Angular
Java Program to Perform Preorder Non-Recursive Traversal of a Given Binary Tree
Pagination and Sorting using Spring Data JPA
Spring Boot - Batch Service
Guide to Spring @Autowired
HttpAsyncClient Tutorial
Java Program to Check if a Directed Graph is a Tree or Not Using DFS
Lập trình đa luồng với CompletableFuture trong Java 8
Checking for Empty or Blank Strings in Java
Java Program to Implement Self Balancing Binary Search Tree
Java Program to Implement Attribute API
Java Copy Constructor
Java Program to Implement vector
Java Program to Implement Repeated Squaring Algorithm
Java Program to Implement Min Heap