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 Implement the MD5 Algorithm
Loại bỏ các phần tử trùng trong một ArrayList như thế nào trong Java 8?
Functional Interfaces in Java 8
Java Program to Implement Find all Cross Edges in a Graph
The Difference Between map() and flatMap()
Java NIO2 Path API
Guide to Spring Cloud Kubernetes
Java Program to Implement the One Time Pad Algorithm
REST Web service: Upload và Download file với Jersey 2.x
Java Program to Decode a Message Encoded Using Playfair Cipher
Generating Random Numbers in a Range in Java
Hướng dẫn Java Design Pattern – Mediator
Spring WebClient and OAuth2 Support
Java Program to Perform Complex Number Multiplication
Spring Boot - Admin Server
How to Read a Large File Efficiently with Java
Java – Get Random Item/Element From a List
Java Program to Perform Partial Key Search in a K-D Tree
Spring Boot - Unit Test Cases
Guide to Character Encoding
Registration – Password Strength and Rules
Spring Boot - Quick Start
Java Program to Implement Naor-Reingold Pseudo Random Function
File Upload with Spring MVC
Guide to Selenium with JUnit / TestNG
Java Program to Implement Range Tree
Java Program to Implement Sorted Singly Linked List
Apache Tiles Integration with Spring MVC
Java Program to Implement PrinterStateReasons API
Hướng dẫn Java Design Pattern – Transfer Object
Jackson JSON Views
Java Program to Find ith Largest Number from a Given List Using Order-Statistic Algorithm