From 09c11168a8bde68cf27b29f7c4a66ac989e81d8f Mon Sep 17 00:00:00 2001 From: Hrithik-AJR <89216993+Hrithik-AJR@users.noreply.github.com> Date: Sun, 23 Oct 2022 11:37:34 +0530 Subject: [PATCH] Create Quick_Sort.cpp --- Quick_Sort.cpp | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 Quick_Sort.cpp diff --git a/Quick_Sort.cpp b/Quick_Sort.cpp new file mode 100644 index 0000000..f0df940 --- /dev/null +++ b/Quick_Sort.cpp @@ -0,0 +1,55 @@ +//Quick Sort + +#include +using namespace std; + + +void swap(int* n1, int* n2) +{ + int t = *n1; + *n1 = *n2; + *n2 = t; +} + + +int partition(int arr[], int low, int high) +{ + int pivot = arr[high]; // pivot + int i = (low - 1); + + for (int j = low; j <= high - 1; j++) { + if (arr[j] < pivot) { + i++; + swap(&arr[i], &arr[j]); + } + } + swap(&arr[i + 1], &arr[high]); + return (i + 1); +} + +void quickSort(int arr[], int low, int high) +{ + if (low < high) { + int pi = partition(arr, low, high); + quickSort(arr, low, pi - 1); + quickSort(arr, pi + 1, high); + } +} + +void printArray(int arr[], int size) +{ + int i; + for (i = 0; i < size; i++) + cout << arr[i] << " "; + cout << endl; +} + +int main() +{ + int arr[] = { 13, 8, 41, 2, 7, 9 }; + int n = sizeof(arr) / sizeof(arr[0]); + quickSort(arr, 0, n - 1); + cout << "Sorted array: \n"; + printArray(arr, n); + return 0; +}