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:
Guide to the Synchronized Keyword in Java
Reactive Flow with MongoDB, Kotlin, and Spring WebFlux
Extra Login Fields with Spring Security
Removing all duplicates from a List in Java
Introduction to PCollections
Using the Map.Entry Java Class
Mảng (Array) trong Java
Database Migrations with Flyway
HttpClient Connection Management
Java Program to Implement Binary Tree
Spring Boot - Internationalization
Giới thiệu Google Guice – Dependency injection (DI) framework
How to use the Spring FactoryBean?
Hướng dẫn Java Design Pattern – Facade
Merging Two Maps with Java 8
Send email with SMTPS (eg. Google GMail)
Java Program to Implement Quick sort
Java Program to Check whether Undirected Graph is Connected using BFS
Spring Cloud AWS – Messaging Support
Guide to the Java ArrayList
Connect through a Proxy
Mapping a Dynamic JSON Object with Jackson
Java Program to Implement Disjoint Sets
Runnable vs. Callable in Java
Bootstrap a Web Application with Spring 5
Java Program to find the maximum subarray sum O(n^2) time(naive method)
Java Program to Use Above Below Primitive to Test Whether Two Lines Intersect
Entity To DTO Conversion for a Spring REST API
Java Program to Implement Shunting Yard Algorithm
Java Program to Use Dynamic Programming to Solve Approximate String Matching
Hướng dẫn sử dụng Printing Service trong Java
Introduction to Netflix Archaius with Spring Cloud