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:
The SpringJUnitConfig and SpringJUnitWebConfig Annotations in Spring 5
Một số nguyên tắc, định luật trong lập trình
Java Scanner hasNext() vs. hasNextLine()
Spring AMQP in Reactive Applications
Introduction to Thread Pools in Java
Java Program to Implement Splay Tree
Intro to the Jackson ObjectMapper
Spring Boot - Interceptor
Introduction to Apache Commons Text
Spring Boot - Tomcat Port Number
Copy a List to Another List in Java
Java Program to Implement Flood Fill Algorithm
Java String to InputStream
OAuth2 for a Spring REST API – Handle the Refresh Token in AngularJS
Java – Get Random Item/Element From a List
Converting String to Stream of chars
Server-Sent Events in Spring
Custom JUnit 4 Test Runners
Introduction to Spring Cloud Netflix – Eureka
Java – Try with Resources
Spring Boot - Google Cloud Platform
A Guide to TreeSet in Java
Java Program to Search for an Element in a Binary Search Tree
Java Program to Implement Vector API
Changing Annotation Parameters At Runtime
Java Program to Implement D-ary-Heap
Java Program to Implement the linear congruential generator for Pseudo Random Number Generation
Giới thiệu Java Service Provider Interface (SPI) – Tạo các ứng dụng Java dễ mở rộng
Introduction to Spring Data REST
Java Convenience Factory Methods for Collections
An Intro to Spring Cloud Vault
New Features in Java 12