This is a java program to sort the large number of elements using Quick Sort Technique. Quick sort uses a pivot element, where all the elements less that pivot are kept in one list and all the elements greater than pivot are kept in another list, and so on.
Here is the source code of the Java Program to Perform Quick Sort on Large Number of Elements. 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 large number of element using Quick Sort
import java.util.Random;
public class Quick_Sort
{
public static int N = 25;
public static int[] sequence = new int[N];
public static void QuickSort(int left, int right)
{
if (right - left <= 0)
return;
else
{
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");
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 Quick_Sort.java $ java Quick_Sort Sorting of randomly generated numbers using QUICK SORT Original Sequence: 54 22 88 52 43 84 61 75 54 72 7 42 47 15 40 16 46 28 9 48 78 10 89 95 8 Sorted Sequence: 7 8 9 10 15 16 22 28 40 42 43 46 47 48 52 54 54 61 72 75 78 84 88 89 95
Related posts:
Java Program to Check if a Directed Graph is a Tree or Not Using DFS
Extract links from an HTML page
Java Program to Encode a Message Using Playfair Cipher
Reactive WebSockets with Spring 5
@Order in Spring
Extra Login Fields with Spring Security
Java Program to Implement Hash Tables Chaining with Binary Trees
Java Program to Implement Quick Sort with Given Complexity Constraint
Java Program to Perform Searching Using Self-Organizing Lists
Java Program to do a Breadth First Search/Traversal on a graph non-recursively
Java – Delete a File
Spring Boot - Web Socket
Java Stream Filter with Lambda Expression
A Guide to WatchService in Java NIO2
Java Program to Represent Graph Using Incidence Matrix
Merging Streams in Java
Java Program to Search for an Element in a Binary Search Tree
Optional trong Java 8
Java Program to Implement Efficient O(log n) Fibonacci generator
Java Program to Describe the Representation of Graph using Incidence List
REST Pagination in Spring
Simple Single Sign-On with Spring Security OAuth2
Spring Boot - Application Properties
Java Multi-line String
Java Program to Find Median of Elements where Elements are Stored in 2 Different Arrays
Java Program to Implement Dijkstra’s Algorithm using Queue
Java Program for Douglas-Peucker Algorithm Implementation
Jackson Annotation Examples
Exploring the Spring Boot TestRestTemplate
Java Program to Implement Booth Algorithm
Java Program to Implement Strassen Algorithm
Spring Boot Actuator