From bcd9b4b40df0295ac1a4bbf04f287245d5b715f1 Mon Sep 17 00:00:00 2001 From: ElzhanZhandos <150348751+Elzhan2007@users.noreply.github.com> Date: Fri, 26 Sep 2025 12:17:29 +0500 Subject: [PATCH] Uploading quick sort algorithm --- QuickSortt.java | 50 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 QuickSortt.java diff --git a/QuickSortt.java b/QuickSortt.java new file mode 100644 index 0000000..eaf8962 --- /dev/null +++ b/QuickSortt.java @@ -0,0 +1,50 @@ +// Quick Sort +import java.util.Random; + +public class QuickSortt { + + public static int partition(int[] arr, int low, int high) { + Random random = new Random(); + int pivotIndex = random.nextInt(high - low + 1) + low; + int temp = arr[pivotIndex]; + arr[pivotIndex] = arr[high]; + arr[high] = temp; + + int pivot = arr[high]; + int i = low - 1; + + for (int j = low; j < high; j++) { + if (arr[j] <= pivot) { + i++; + temp = arr[i]; + arr[i] = arr[j]; + arr[j] = temp; + } + } + + temp = arr[i + 1]; + arr[i + 1] = arr[high]; + arr[high] = temp; + return i + 1; + } + + public static void quickSort(int[] arr, int low, int high) { + while (low < high) { + int pi = partition(arr, low, high); + + if (pi - low < high - pi) { + quickSort(arr, low, pi - 1); + low = pi + 1; + } else { + quickSort(arr, pi + 1, high); + high = pi - 1; + } + } + } + + public static void main(String[] args) { + int[] arr = {38, 27, 43, 3, 9, 82, 10}; + quickSort(arr, 0, arr.length - 1); + System.out.println("Sorted Array: " + java.util.Arrays.toString(arr)); + } +}