From 8861a674436d4ecad9827c01a1664e83fe6e0655 Mon Sep 17 00:00:00 2001 From: Nischay mrzn <129774293+Nischaymrzn@users.noreply.github.com> Date: Wed, 30 Oct 2024 10:36:21 +0545 Subject: [PATCH] Create QuickSort.java QuickSort in Java --- Java/QuickSort.java | 66 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 Java/QuickSort.java diff --git a/Java/QuickSort.java b/Java/QuickSort.java new file mode 100644 index 0000000..0f55bd1 --- /dev/null +++ b/Java/QuickSort.java @@ -0,0 +1,66 @@ +// Java program for implementation of QuickSort +class QuickSort +{ + int partition(int arr[], int low, int high) + { + int pivot = arr[high]; + int i = (low-1); // index of smaller element + for (int j=low; j<high; j++) + { + + if (arr[j] <= pivot) + { + i++; + + // swap arr[i] and arr[j] + 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); + } + } + + /* A utility function to print array of size n */ + static void printArray(int arr[]) + { + int n = arr.length; + for (int i=0; i<n; ++i) + System.out.print(arr[i]+" "); + System.out.println(); + } + + // Driver program + 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"); + printArray(arr); + } +}