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:

Simultaneous Spring WebClient Calls
Java Program to Generate a Graph for a Given Fixed Degree Sequence
Hướng dẫn sử dụng Java Generics
Configure a RestTemplate with RestTemplateBuilder
Java Program to Repeatedly Search the Same Text (such as Bible by building a Data Structure)
Java Program to Find the Longest Path in a DAG
Java Program to Generate Random Numbers Using Middle Square Method
Java Program to find the peak element of an array using Binary Search approach
Java Program to Implement the MD5 Algorithm
Multi Dimensional ArrayList in Java
LIKE Queries in Spring JPA Repositories
Java Program to Implement Circular Doubly Linked List
DynamoDB in a Spring Boot Application Using Spring Data
Setting a Request Timeout for a Spring REST API
Spring Security 5 – OAuth2 Login
Java Program to find the number of occurrences of a given number using Binary Search approach
Java Program to Compute the Volume of a Tetrahedron Using Determinants
Display Auto-Configuration Report in Spring Boot
So sánh HashMap và HashSet trong Java
Tiêu chuẩn coding trong Java (Coding Standards)
Spring Security OAuth2 – Simple Token Revocation
Java Program to Sort an Array of 10 Elements Using Heap Sort Algorithm
Java Program to Implement Direct Addressing Tables
Read an Outlook MSG file
Changing Annotation Parameters At Runtime
Java Program to Implement Range Tree
Guide to Character Encoding
Java Program to Implement Singly Linked List
Java Program to Implement Ternary Heap
Java Program to Create the Prufer Code for a Tree
Control the Session with Spring Security
Migrating from JUnit 4 to JUnit 5