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:
A Guide to Iterator in Java
Hướng dẫn Java Design Pattern – Abstract Factory
How to Read a Large File Efficiently with Java
Một số tính năng mới về xử lý ngoại lệ trong Java 7
Quick Guide to the Java StringTokenizer
StringBuilder vs StringBuffer in Java
Guide to ThreadLocalRandom in Java
Spring Data JPA @Query
Handle EML file with JavaMail
Converting Between an Array and a Set in Java
Jackson Ignore Properties on Marshalling
Retrieve User Information in Spring Security
Java Program to Implement Bucket Sort
Composition, Aggregation, and Association in Java
Java Program to Implement Hash Tables Chaining with Binary Trees
Java Program to Find the Shortest Path Between Two Vertices Using Dijkstra’s Algorithm
Prevent Cross-Site Scripting (XSS) in a Spring Application
Comparing Two HashMaps in Java
Java Program to Implement Slicker Algorithm that avoids Triangulation to Find Area of a Polygon
Spring Security Form Login
Redirect to Different Pages after Login with Spring Security
Java Program to Implement Graham Scan Algorithm to Find the Convex Hull
Java Program to Implement the MD5 Algorithm
Difference Between Wait and Sleep in Java
Quick Guide on Loading Initial Data with Spring Boot
Initialize a HashMap in Java
Generating Random Dates in Java
Tránh lỗi ConcurrentModificationException trong Java như thế nào?
Spring Boot - Introduction
Introduction to Spring Method Security
Java Program to Represent Graph Using Adjacency Matrix
Bootstrap a Web Application with Spring 5