Java Program to Perform Stooge Sort

This is a java program to implement Stooge sort algorithm.

Here is the source code of the Java Program to Perform Stooge 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 numbers using Stooge Sort
import java.util.Random;
 
public class Stooge_Sort 
{
 
    public static int N = 20;
    public static int[] sequence = new int[N];
 
    public static int[] stoogeSort(int[] L, int i, int j) 
    {
        if (L[j] < L[i]) 
        {
            int swap = L[i];
            L[i] = L[j];
            L[j] = swap;
        }
        if ((j - i + 1) >= 3) 
        {
            int t = (j - i + 1) / 3;
            stoogeSort(L, i, j - t);
            stoogeSort(L, i + t, j);
            stoogeSort(L, i, j - t);
        }
        return L;
    }
 
    public static void printSequence(int[] sorted_sequence) 
    {
        for (int i = 0; i < sorted_sequence.length; i++)
            System.out.print(sorted_sequence[i] + " ");
    }
 
    public static void main(String[] args) 
    {
        Random random = new Random();
        System.out
                .println("Sorting of randomly generated numbers using STOOGE SORT");
 
        for (int i = 0; i < N; i++)
            sequence[i] = Math.abs(random.nextInt(1000));
 
        System.out.println("\nOriginal Sequence: ");
        printSequence(sequence);
 
        System.out.println("\nSorted Sequence: ");
        printSequence(stoogeSort(sequence, 0, sequence.length - 1));
    }
}

Output:

$ javac Stooge_Sort.java
$ java Stooge_Sort
 
Sorting of randomly generated numbers using STOOGE SORT
 
Original Sequence: 
213 931 260 34 184 706 346 849 279 918 781 242 995 2 187 378 634 965 138 843 
Sorted Sequence: 
2 34 138 184 187 213 242 260 279 346 378 634 706 781 843 849 918 931 965 995

Related posts:

A Guide to LinkedHashMap in Java
Spring’s RequestBody and ResponseBody Annotations
Java CyclicBarrier vs CountDownLatch
Multi Dimensional ArrayList in Java
Spring Security 5 for Reactive Applications
4 tính chất của lập trình hướng đối tượng trong Java
Guide To CompletableFuture
Weak References in Java
Generating Random Numbers in a Range in Java
Easy Ways to Write a Java InputStream to an OutputStream
Notify User of Login From New Device or Location
Java Program to Check whether Graph is a Bipartite using BFS
Java Program to Find the Shortest Path from Source Vertex to All Other Vertices in Linear Time
Java Program to Implement Self organizing List
Java Program to Implement Ford–Fulkerson Algorithm
Java Program to Check Whether an Undirected Graph Contains a Eulerian Path
Java Program to Generate Random Numbers Using Multiply with Carry Method
Java Program to Find the Median of two Sorted Arrays using Binary Search Approach
Java Program to Implement ConcurrentLinkedQueue API
Converting a Stack Trace to a String in Java
Batch Processing with Spring Cloud Data Flow
Hướng dẫn Java Design Pattern – Factory Method
Daemon Threads in Java
Java Program to Implement LinkedBlockingQueue API
Control the Session with Spring Security
Recommended Package Structure of a Spring Boot Project
Java Program to Implement ConcurrentHashMap API
Java Program to Implement HashSet API
Java Program to Implement Quick sort
Lớp Collections trong Java (Collections Utility Class)
How to Delay Code Execution in Java
Guide to Java 8’s Collectors