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:
Java Program to Implement Segment Tree
Java Program to Implement Wagner and Fisher Algorithm for online String Matching
Java Program to Check if a Point d lies Inside or Outside a Circle Defined by Points a, b, c in a Pl...
File Upload with Spring MVC
Overflow and Underflow in Java
Java Program to Implement the RSA Algorithm
Creating a Custom Starter with Spring Boot
Generating Random Dates in Java
Java Program to Find Number of Spanning Trees in a Complete Bipartite Graph
Java Program to Find the Shortest Path from Source Vertex to All Other Vertices in Linear Time
New Features in Java 15
Java Program to Implement Borwein Algorithm
Từ khóa static và final trong java
Copy a List to Another List in Java
An Intro to Spring Cloud Vault
Java Program to Find Maximum Element in an Array using Binary Search
Creating Docker Images with Spring Boot
Collection trong java
Java Program to Implement Adjacency List
Java Program to Implement Fermat Factorization Algorithm
A Guide to JUnit 5 Extensions
Java Program to Implement the Program Used in grep/egrep/fgrep
The StackOverflowError in Java
Chương trình Java đầu tiên
Một số tính năng mới về xử lý ngoại lệ trong Java 7
Java Program to Permute All Letters of an Input String
Spring Security Logout
Java Program to Perform Polygon Containment Test
Java Program to Implement Bresenham Line Algorithm
A Guide to TreeMap in Java
Giới thiệu về Stream API trong Java 8
Java Program to Use the Bellman-Ford Algorithm to Find the Shortest Path