Java Program to Perform the Shaker Sort

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:

Tính kế thừa (Inheritance) trong java
Spring MVC Setup with Kotlin
Spring Security OAuth2 – Simple Token Revocation
Lớp LinkedHashMap trong Java
RestTemplate Post Request with JSON
Hướng dẫn Java Design Pattern – Template Method
Giới thiệu Google Guice – Binding
Introduction to Spring Data JDBC
Quick Guide to Spring Bean Scopes
Circular Dependencies in Spring
Intro to Inversion of Control and Dependency Injection with Spring
Java Program to Represent Graph Using Adjacency List
Java Program to Implement Heap Sort Using Library Functions
Giới thiệu Swagger – Công cụ document cho RESTfull APIs
Introduction to Eclipse Collections
Introduction to Thread Pools in Java
Entity To DTO Conversion for a Spring REST API
Java Program to Test Using DFS Whether a Directed Graph is Strongly Connected or Not
Hướng dẫn Java Design Pattern – Prototype
Java Program to Implement Double Order Traversal of a Binary Tree
Registration – Activate a New Account by Email
Java Program to Solve Set Cover Problem assuming at max 2 Elements in a Subset
Java Program to Convert a Decimal Number to Binary Number using Stacks
A Comparison Between Spring and Spring Boot
Java Program to Implement Shoelace Algorithm
Lập trình đa luồng với CompletableFuture trong Java 8
JUnit 5 @Test Annotation
Java Program to implement Sparse Vector
Xử lý ngoại lệ đối với trường hợp ghi đè phương thức trong java
Getting Started with Forms in Spring MVC
Map Interface trong java
Java Program to Compute the Area of a Triangle Using Determinants