This is a java program to perform quick sort with complexity constraint of time less than n^2.
Here is the source code of the Java Program to Implement Quick Sort with Given Complexity Constraint. The Java program is successfully compiled and run on a Windows system. The program output is also shown below.
package com.sanfoundry.combinatorial; import java.util.Random; public class QuickSortComplexityConstraint { 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 QUICK SORT with complexity less than n^2"); 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 QuickSortComplexityConstraint.java $ java QuickSortComplexityConstraint Sorting of randomly generated numbers using QUICK SORT with complexity less than n^2 Original Sequence: 29 19 67 48 23 99 72 40 23 93 0 79 70 87 43 24 56 67 51 71 Sorted Sequence: 0 19 23 23 24 29 40 43 48 51 56 67 67 70 71 72 79 87 93 99
Related posts:
Spring Boot - Code Structure
HttpClient 4 Cookbook
Debug a JavaMail Program
Lập trình đa luồng với Callable và Future trong Java
Hamcrest Collections Cookbook
Spring Boot - Actuator
Set Interface trong Java
Spring Cloud AWS – S3
Spring Security OAuth2 – Simple Token Revocation
Show Hibernate/JPA SQL Statements from Spring Boot
Debugging Reactive Streams in Java
Java Program to Implement Graham Scan Algorithm to Find the Convex Hull
Custom Cascading in Spring Data MongoDB
Batch Processing with Spring Cloud Data Flow
Introduction to Spring Boot CLI
Phương thức forEach() trong java 8
Java Program to Implement Ford–Fulkerson Algorithm
So sánh ArrayList và Vector trong Java
A Guide to the ViewResolver in Spring MVC
A Guide to the ResourceBundle
Using the Map.Entry Java Class
Java Program to Implement Repeated Squaring Algorithm
JUnit5 Programmatic Extension Registration with @RegisterExtension
Java Program to Implement Brent Cycle Algorithm
Java Program to Generate All Possible Combinations Out of a, b, c, d, e
Rate Limiting in Spring Cloud Netflix Zuul
Java CyclicBarrier vs CountDownLatch
Java Program to Implement the RSA Algorithm
Java Program to Implement Sparse Array
Receive email using POP3
Sending Emails with Java
Java Program to Implement Segment Tree