Mayank Vaidya

Jun 9, 20201 min

Quick Sort Using Java

QuickSort is a divide-and-conquer algorithm. It works by selecting a 'pivot' element from the array and partitioning the other elements into two sub-arrays, according to whether they are less than or greater than the pivot.

Implemented using Java:

class QuickSort
 
{
 
int partition(int arr[], int low, int high)
 
{
 
int pivot = arr[high];
 
int i = (low-1);
 
for (int j=low; j<high; j++)
 
{
 
if (arr[j] <= pivot)
 
{
 
i++;
 
int temp = arr[i];
 
arr[i] = arr[j];
 
arr[j] = temp;
 
}
 
}
 
int temp = arr[i+1];
 
arr[i+1] = arr[high];
 
arr[high] = temp;
 
return i+1;
 
}
 
void sort(int arr[], int low, int high)
 
{
 
if (low < high)
 
{
 
int pi = partition(arr, low, high);
 
sort(arr, low, pi-1);
 
sort(arr, pi+1, high);
 
}
 
}
 

 
static void print_Array(int arr[])
 
{
 
int n = arr.length;
 
for (int i=0; i<n; ++i)
 
System.out.print(arr[i]+" ");
 
System.out.println();
 
}
 

 
public static void main(String args[])
 
{
 
int arr[] = {10, 7, 8, 9, 1, 5};
 
int n = arr.length;
 

 
QuickSort ob = new QuickSort();
 
ob.sort(arr, 0, n-1);
 

 
System.out.println("sorted array");
 
print_Array(arr);
 
}
 
}


Happy Coding!
 
Follow us on Instagram @programmersdoor
 
Join us on Telegram @programmersdoor
 

 
Please write comments if you find any bug in above code/algorithm, or find other ways to solve the same problem.
 
Follow Programmers Door for more.
 
#blog #interview #placement #learn #computer #science

    210
    5