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 Segment Tree
Spring WebFlux Filters
Java Program to Implement TreeMap API
Java Program to Check Whether Topological Sorting can be Performed in a Graph
Changing Annotation Parameters At Runtime
A Comparison Between Spring and Spring Boot
Spring Data JPA and Null Parameters
Java Program to Implement LinkedHashMap API
Query Entities by Dates and Times with Spring Data JPA
Hướng dẫn Java Design Pattern – Iterator
How to Count Duplicate Elements in Arraylist
Overview of Spring Boot Dev Tools
Java Program to Solve a Matching Problem for a Given Specific Case
Java Program to Construct an Expression Tree for an Infix Expression
Introduction to Using Thymeleaf in Spring
Convert String to int or Integer in Java
Redirect to Different Pages after Login with Spring Security
Java Program to Implement Gauss Jordan Elimination
Working With Maps Using Streams
Java Program to Implement Sorted Array
How to use the Spring FactoryBean?
Spring REST API + OAuth2 + Angular
Java Program to Implement Kosaraju Algorithm
Initialize a HashMap in Java
Guide to Guava Multimap
Java Program to Implement Dijkstra’s Algorithm using Queue
Java Program to Print the Kind of Rotation the AVL Tree is Undergoing
How to Get All Spring-Managed Beans?
Java Program to Perform Left Rotation on a Binary Search Tree
Java Program to Implement HashMap API
Java Program to Implement HashTable API
Java Program to Implement the Bin Packing Algorithm