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:
Sort a HashMap in Java
Spring Boot Change Context Path
Java Program to Implement Range Tree
How to Return 404 with Spring WebFlux
Java Program to Implement Floyd-Warshall Algorithm
Từ khóa this và super trong Java
Hướng dẫn Java Design Pattern – Prototype
Send email with authentication
Java Program to Implement Max Heap
Collect a Java Stream to an Immutable Collection
Java Program to Implement Bellman-Ford Algorithm
Mảng (Array) trong Java
Tạo ứng dụng Java RESTful Client không sử dụng 3rd party libraries
Java Program to Find Location of a Point Placed in Three Dimensions Using K-D Trees
wait() and notify() Methods in Java
Exception Handling in Java
Java Program to Generate All Subsets of a Given Set in the Gray Code Order
Hướng dẫn Java Design Pattern – Strategy
SOAP Web service: Upload và Download file sử dụng MTOM trong JAX-WS
Java Program to Implement Expression Tree
Mockito and JUnit 5 – Using ExtendWith
Lớp HashMap trong Java
Java Program to Search Number Using Divide and Conquer with the Aid of Fibonacci Numbers
Period and Duration in Java
Java Program to Implement Vector API
Java Program to Construct a Random Graph by the Method of Random Edge Selection
Hướng dẫn Java Design Pattern – Iterator
Java Program to Implement Disjoint Set Data Structure
Extract links from an HTML page
Spring RestTemplate Error Handling
@DynamicUpdate with Spring Data JPA
Query Entities by Dates and Times with Spring Data JPA