quick sort
unknown
plain_text
2 years ago
1.7 kB
10
Indexable
import java.util.Scanner;
public class QuickSort {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// Input size of the array
System.out.print("Enter the size of the array: ");
int size = scanner.nextInt();
int[] array = new int[size];
// Input array elements
System.out.println("Enter the elements of the array:");
for (int i = 0; i < size; i++) {
array[i] = scanner.nextInt();
}
// Perform quicksort
quickSort(array, 0, size - 1);
// Display sorted array
System.out.println("Sorted array:");
for (int i : array) {
System.out.print(i + " ");
}
scanner.close();
}
public static void quickSort(int[] array, int low, int high) {
if (low < high) {
int pivotIndex = partition(array, low, high);
// Recursively sort the sub-arrays
quickSort(array, low, pivotIndex - 1);
quickSort(array, pivotIndex + 1, high);
}
}
public static int partition(int[] array, int low, int high) {
int pivot = array[high];
int i = low - 1;
for (int j = low; j < high; j++) {
if (array[j] < pivot) {
i++;
// Swap array[i] and array[j]
int temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
// Swap array[i+1] and array[high] (pivot)
int temp = array[i + 1];
array[i + 1] = array[high];
array[high] = temp;
return i + 1;
}
}Editor is loading...
Leave a Comment