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:
Java Program to Implement Adjacency Matrix
Java Timer
Guava – Join and Split Collections
A Guide to ConcurrentMap
Testing in Spring Boot
Find the Registered Spring Security Filters
Spring Boot - Scheduling
Understanding Memory Leaks in Java
Mapping Nested Values with Jackson
Java Program to Perform integer Partition for a Specific Case
Java Program to Find Median of Elements where Elements are Stored in 2 Different Arrays
Logging a Reactive Sequence
Simultaneous Spring WebClient Calls
Java Program to Implement Stack
Hướng dẫn Java Design Pattern – Composite
Java Program to Generate Randomized Sequence of Given Range of Numbers
Java toString() Method
Java Program to Delete a Particular Node in a Tree Without Using Recursion
Java Program to Perform Finite State Automaton based Search
A Custom Media Type for a Spring REST API
ETags for REST with Spring
Ép kiểu trong Java (Type casting)
Java Program to Implement Uniform-Cost Search
A Guide to BitSet in Java
Java Program to Generate Random Hexadecimal Byte
Java Program to Implement SimpeBindings API
Converting Between Byte Arrays and Hexadecimal Strings in Java
Spring Security OAuth Login with WebFlux
Java Program to Find Location of a Point Placed in Three Dimensions Using K-D Trees
Returning Image/Media Data with Spring MVC
Spring Cloud AWS – S3
Spring Security Form Login