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:
Converting a Stack Trace to a String in Java
Introduction to Netflix Archaius with Spring Cloud
How to Convert List to Map in Java
Java Program to Use rand and srand Functions
Java String to InputStream
Jackson Date
Java – Write a Reader to File
Hướng dẫn Java Design Pattern – Interpreter
Validations for Enum Types
Java Program to Implement Weight Balanced Tree
Java Program to Implement Sorted Array
Java Program to Solve TSP Using Minimum Spanning Trees
Migrating from JUnit 4 to JUnit 5
Disable DNS caching
Java Program to Implement Flood Fill Algorithm
Java Program to Implement IdentityHashMap API
Java Program to Implement Euclid GCD Algorithm
HttpClient 4 – Follow Redirects for POST
Java Program to Solve the 0-1 Knapsack Problem
Hướng dẫn Java Design Pattern – Builder
Java Program to Check if a Point d lies Inside or Outside a Circle Defined by Points a, b, c in a Pl...
Guide to WeakHashMap in Java
Checking for Empty or Blank Strings in Java
Hướng dẫn Java Design Pattern – Service Locator
Custom Thread Pools In Java 8 Parallel Streams
Guide to BufferedReader
Java Program to Solve any Linear Equations
Guava – Join and Split Collections
Iterable to Stream in Java
Logout in an OAuth Secured Application
A Guide to the finalize Method in Java
Java Program to Implement First Fit Decreasing for 1-D Objects and M Bins