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:
HTTP Authentification and CGI/Servlet
Model, ModelMap, and ModelAndView in Spring MVC
Request a Delivery / Read Receipt in Javamail
Java Program to Check Multiplicability of Two Matrices
Receive email using POP3
Spring Boot - Cloud Configuration Client
Returning Image/Media Data with Spring MVC
Java Program to Implement Cartesian Tree
Tạo ứng dụng Java RESTful Client với thư viện OkHttp
Java Program to Implement Sparse Matrix
Truyền giá trị và tham chiếu trong java
Java Program to Evaluate an Expression using Stacks
Hướng dẫn Java Design Pattern – Memento
Converting between an Array and a List in Java
The StackOverflowError in Java
Spring Cloud Series – The Gateway Pattern
A Comparison Between Spring and Spring Boot
Java Program to Find a Good Feedback Edge Set in a Graph
Java Program to Remove the Edges in a Given Cyclic Graph such that its Linear Extension can be Found
Java Program to Implement Gabow Algorithm
Posting with HttpClient
Java Program to Implement Booth Algorithm
Java Program to Find Number of Spanning Trees in a Complete Bipartite Graph
A Guide to LinkedHashMap in Java
Java Program to Perform LU Decomposition of any Matrix
Java Program to Implement Splay Tree
Circular Dependencies in Spring
Setting the Java Version in Maven
Java Program to Perform Preorder Recursive Traversal of a Given Binary Tree
Hướng dẫn Java Design Pattern – Adapter
Apache Camel with Spring Boot
Java CyclicBarrier vs CountDownLatch