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:
Debug a HttpURLConnection problem
New Stream Collectors in Java 9
Tránh lỗi ConcurrentModificationException trong Java như thế nào?
Java Program to Implement Binary Search Tree
Jackson – Decide What Fields Get Serialized/Deserialized
Java Program to Implement Sparse Matrix
Extract network card address
Java Program to Implement Nth Root Algorithm
JUnit5 @RunWith
Từ khóa static và final trong java
Getting the Size of an Iterable in Java
Java Program to Implement Shell Sort
Performance Difference Between save() and saveAll() in Spring Data
How to Define a Spring Boot Filter?
Java Program to Implement Ford–Fulkerson Algorithm
Java Program to Implement Stein GCD Algorithm
Error Handling for REST with Spring
The Difference Between Collection.stream().forEach() and Collection.forEach()
Custom Thread Pools In Java 8 Parallel Streams
Inheritance with Jackson
Java Program to Implement Sorted Vector
Java Program to Implement Caesar Cypher
Introduction to the Java NIO2 File API
Apache Camel with Spring Boot
Java 8 and Infinite Streams
Hamcrest Collections Cookbook
Java InputStream to String
The DAO with Spring and Hibernate
Guide to WeakHashMap in Java
Java Program to Implement Strassen Algorithm
Jackson – JsonMappingException (No serializer found for class)
Hướng dẫn Java Design Pattern – Prototype