This is a java program to perform sorting using Randomized Quick Sort. Randomized Quick Sort randomly selects a pivot element, after selecting pivot standard procedure is to be followed as quick sort.
Here is the source code of the Java Program to Implement Quick Sort Using Randomization. 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 randomized quick sort
import java.util.Random;
 
public class Randomized_Quick_Sort 
{
    public static int N = 20;
    public static int[] sequence = new int[N];
 
    public static void QuickSort(int left, int right) 
    {
        if (right - left <= 0)
            return;
        else 
        {
            Random rand = new Random();
            int pivotIndex = left + rand.nextInt(right - left + 1);
            swap(pivotIndex, right);
 
            int pivot = sequence[right];
            int partition = partitionIt(left, right, pivot);
            QuickSort(left, partition - 1);
            QuickSort(partition + 1, right);
        }
    }
 
    public static int partitionIt(int left, int right, long pivot) 
    {
        int leftPtr = left - 1;
        int rightPtr = right;
        while (true) 
        {
            while (sequence[++leftPtr] < pivot)
                ;
            while (rightPtr > 0 && sequence[--rightPtr] > pivot)
                ;
 
            if (leftPtr >= rightPtr)
                break;
            else
                swap(leftPtr, rightPtr);
        }
        swap(leftPtr, right);
        return leftPtr;
    }
 
    public static void swap(int dex1, int dex2) 
    {
        int temp = sequence[dex1];
        sequence[dex1] = sequence[dex2];
        sequence[dex2] = temp;
    }
 
    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[]) 
    {
        System.out
                .println("Sorting of randomly generated numbers using RANDOMIZED QUICK SORT");
        Random random = new Random();
 
        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: ");
        QuickSort(0, N - 1);
        printSequence(sequence);
    }
}
Output:
$ javac Randomized_Quick_Sort.java $ java Randomized_Quick_Sort Sorting of randomly generated numbers using RANDOMIZED QUICK SORT Original Sequence: 98 95 22 64 77 49 11 98 56 63 84 18 9 68 4 69 2 20 68 4 Sorted Sequence: 2 4 4 9 11 18 20 22 49 56 63 64 68 68 69 77 84 95 98 98
Related posts:
Java Program to Perform Preorder Non-Recursive Traversal of a Given Binary Tree
Quick Guide on Loading Initial Data with Spring Boot
Lớp Collectors trong Java 8
String Operations with Java Streams
Java Program to Implement ScapeGoat Tree
Java Program to Represent Graph Using Adjacency Matrix
Java Program to Represent Graph Using Incidence List
Handle EML file with JavaMail
Java Program to Implement the Binary Counting Method to Generate Subsets of a Set
Introduction to Using FreeMarker in Spring MVC
Convert Time to Milliseconds in Java
Java Program to Implement Insertion Sort
ArrayList trong java
Java Program to Implement Flood Fill Algorithm
Hướng dẫn sử dụng luồng vào ra ký tự trong Java
Using a List of Values in a JdbcTemplate IN Clause
Database Migrations with Flyway
Java Program to Convert a Decimal Number to Binary Number using Stacks
Java Program to Implement Max-Flow Min-Cut Theorem
Control Structures in Java
Các nguyên lý thiết kế hướng đối tượng – SOLID
List Interface trong Java
Java Program to Check Whether a Weak Link i.e. Articulation Vertex Exists in a Graph
Java Program to Find the Nearest Neighbor Using K-D Tree Search
Xử lý ngoại lệ đối với trường hợp ghi đè phương thức trong java
How to Kill a Java Thread
Truyền giá trị và tham chiếu trong java
Java Program to Implement RoleList API
Một số từ khóa trong Java
Java Program to Implement Miller Rabin Primality Test Algorithm
Java Program to Implement Sorted List
Simple Single Sign-On with Spring Security OAuth2