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 Miller Rabin Primality Test Algorithm
Java Program to Construct an Expression Tree for an Infix Expression
Java Program to Implement Maximum Length Chain of Pairs
Java Program to Implement Radix Sort
Convert Time to Milliseconds in Java
Java Program to Check whether Graph is Biconnected
Java Program to Implement Find all Cross Edges in a Graph
Java Program to Implement Gaussian Elimination Algorithm
Java Program to Use Boruvka’s Algorithm to Find the Minimum Spanning Tree
Automatic Property Expansion with Spring Boot
Constructor Dependency Injection in Spring
Tiêu chuẩn coding trong Java (Coding Standards)
Spring Boot - Hystrix
Using the Map.Entry Java Class
Java Program to Implement Sorted Array
Service Registration with Eureka
Java Program to Construct K-D Tree for 2 Dimensional Data
Lập trình đa luồng với CompletableFuture trong Java 8
Java Program to Implement Pollard Rho Algorithm
Java Program to Perform the Sorting Using Counting Sort
ClassNotFoundException vs NoClassDefFoundError
Quick Guide to Spring Bean Scopes
Rest Web service: Filter và Interceptor với Jersey 2.x (P2)
Database Migrations with Flyway
Truyền giá trị và tham chiếu trong java
Java Program to Implement Bucket Sort
Java Program to Implement Bubble Sort
Java Program to Perform Searching Based on Locality of Reference
Request a Delivery / Read Receipt in Javamail
Show Hibernate/JPA SQL Statements from Spring Boot
Java Program to Implement Network Flow Problem
Spring Boot - CORS Support