#include<stdio.h>
void swap(int* a, int* b)
{
int t = *a;
*a = *b;
*b = t;
}
int partition (int arr[], int low, int high)
{
int pivot = arr[high];
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 pivot = partition(arr, low, high);
quickSort(arr, low, pivot - 1);
quickSort(arr, pivot + 1, high);
}
}
void displayArray(int arr[], int size)
{
int i;
for (i=0; i < size; i++)
}
int main()
{
int n;
printf("Enter the range of Elements : "); int arr[n];
printf("Enter the Elements : \n"); for(int i=0;i<n;i++)
quickSort(arr, 0, n-1);
printf("Array sorted with quick sort \n"); displayArray(arr,n);
return 0;
}
I2luY2x1ZGU8c3RkaW8uaD4Kdm9pZCBzd2FwKGludCogYSwgaW50KiBiKSAKeyAKICAgIGludCB0ID0gKmE7IAogICAgKmEgPSAqYjsgCiAgICAqYiA9IHQ7IAp9IAppbnQgcGFydGl0aW9uIChpbnQgYXJyW10sIGludCBsb3csIGludCBoaWdoKSAKeyAKICAgIGludCBwaXZvdCA9IGFycltoaWdoXTsKICAgIGludCBpID0gKGxvdyAtIDEpOyAgIAogICAgZm9yIChpbnQgaiA9IGxvdzsgaiA8PSBoaWdoLSAxOyBqKyspIAogICAgeyAKICAgICAgICBpZiAoYXJyW2pdIDw9IHBpdm90KSAKICAgICAgICB7IAogICAgICAgICAgICBpKys7IAogICAgICAgICAgICBzd2FwKCZhcnJbaV0sICZhcnJbal0pOyAKICAgICAgICB9IAogICAgfSAKICAgIHN3YXAoJmFycltpICsgMV0sICZhcnJbaGlnaF0pOyAKICAgIHJldHVybiAoaSArIDEpOyAKfSAKdm9pZCBxdWlja1NvcnQoaW50IGFycltdLCBpbnQgbG93LCBpbnQgaGlnaCkgCnsgCiAgICBpZiAobG93IDwgaGlnaCkgCiAgICB7IAogICAgICAgIGludCBwaXZvdCA9IHBhcnRpdGlvbihhcnIsIGxvdywgaGlnaCk7IAogICAgICAgIHF1aWNrU29ydChhcnIsIGxvdywgcGl2b3QgLSAxKTsgCiAgICAgICAgcXVpY2tTb3J0KGFyciwgcGl2b3QgKyAxLCBoaWdoKTsgCiAgICB9IAp9IAogIAp2b2lkIGRpc3BsYXlBcnJheShpbnQgYXJyW10sIGludCBzaXplKSAKeyAKICAgIGludCBpOyAKICAgIGZvciAoaT0wOyBpIDwgc2l6ZTsgaSsrKSAKICAgICAgICBwcmludGYoIiVkXHQgIixhcnJbaV0pOyAgCn0gCmludCBtYWluKCkgCnsgCiAgICBpbnQgbjsKICAgIHByaW50ZigiQW1hbiBTaGFybWFcbiIpOwogICAgcHJpbnRmKCJFbnRlciB0aGUgcmFuZ2Ugb2YgRWxlbWVudHMgOiAiKTsKICAgIHNjYW5mKCIlZCIsJm4pOwogICAgaW50IGFycltuXTsKICAgIHByaW50ZigiRW50ZXIgdGhlIEVsZW1lbnRzIDogXG4iKTsKICAgIGZvcihpbnQgaT0wO2k8bjtpKyspCiAgICAJc2NhbmYoIiVkIiwmYXJyW2ldKTsKICAgIHF1aWNrU29ydChhcnIsIDAsIG4tMSk7IAogICAgcHJpbnRmKCJBcnJheSBzb3J0ZWQgd2l0aCBxdWljayBzb3J0IFxuIik7IAogICAgZGlzcGxheUFycmF5KGFycixuKTsgCiAgICByZXR1cm4gMDsgCn0=