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 BufferedReader
Lập trình hướng đối tượng (OOPs) trong java
Tính đóng gói (Encapsulation) trong java
Converting between an Array and a List in Java
Working with Network Interfaces in Java
Hướng dẫn Java Design Pattern – Proxy
Java Program to Check if an UnDirected Graph is a Tree or Not Using DFS
The Order of Tests in JUnit
Receive email using IMAP
Java Program to Find the GCD and LCM of two Numbers
A Guide to HashSet in Java
List Interface trong Java
Tránh lỗi NullPointerException trong Java như thế nào?
Guide to the Java ArrayList
New Features in Java 8
Java Program to Solve the 0-1 Knapsack Problem
Collect a Java Stream to an Immutable Collection
Java Program to Implement CountMinSketch
Hướng dẫn Java Design Pattern – Service Locator
Using Custom Banners in Spring Boot
Java Program to Implement Branch and Bound Method to Perform a Combinatorial Search
Java Program to Find the Shortest Path Between Two Vertices Using Dijkstra’s Algorithm
StringBuilder vs StringBuffer in Java
MyBatis with Spring
Spring MVC Custom Validation
An Intro to Spring Cloud Task
Java Program to Implement ConcurrentHashMap API
Enum trong java
Spring Security Authentication Provider
Java Program to Compute Discrete Fourier Transform Using Naive Approach
Retrieve User Information in Spring Security
Java 8 Stream findFirst() vs. findAny()