Quick Sort Algorithm
Wed Nov 06 2024 18:38:04 GMT+0000 (Coordinated Universal Time)
Saved by
@signup_returns
//Quick Sort Algorithm
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int[] array = new int[N];
for (int i = 0; i < N; i++)
array[i] = sc.nextInt();
quickSort(array, 0, N - 1);
System.out.println("Sorted Elements: ");
for (int i = 0; i < N; i++) {
System.out.print(array[i] + " ");
}
System.out.println();
}
public static int partition(int[] array, int p, int q) {
int v = array[p];
int i = p, j = q + 1;
do {
do {
i++;
} while (i < q && array[i] < v);
do {
j--;
} while (j > p && array[j] > v);
if (i < j) {
interchange(array, i, j);
}
} while (i < j);
interchange(array, p, j);
return j;
}
public static void quickSort(int[] array, int p, int q) {
if (p < q) {
int j = partition(array, p, q);
quickSort(array, p, j - 1);
quickSort(array, j + 1, q);
}
}
public static void interchange(int[] array, int i, int j) {
int temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
/*
Sample Test Case:
Input:
5
12 4 7 9 2
Output:
Sorted Elements:
2 4 7 9 12
*/
content_copyCOPY
Comments