quick sort
unknown
plain_text
a year ago
1.7 kB
5
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