#include<stdio.h>
void quick_sort(int *Y, int low, int high)
{
int pi,L,H,temp;
pi=Y[low];
L=low;
H=high;
if(low<high)
{
while(L<=H)
{
while(Y[L]<=pi)
L++;
while(Y[H]>pi)
H--;
if(L<H)
{
temp=Y[L];
Y[L]=Y[H];
Y[H]=temp;
}
}
Y[low]=Y[H];
Y[H]=pi;
quick_sort(Y,low,H-1);
quick_sort(Y,H+1,high);
}
}
void print_array(int *Y,int n)
{
int i;
printf("\n\nArray of %d elements:",n);
printf("\n\n%d",Y[0]);
for(i=1;i<n;i++)
printf(", %d",Y[i]);
}
void input_array(int *Y,int n)
{
int i;
printf("\n\nEnter %d elements:",n);
for(i=0;i<n;i++)
scanf("%d",&Y[i]);
}
void main()
{
int X[100],n;
printf("Enter number of elements:");
scanf("%d",&n);
if((n>0)&&(n<101))
{
input_array(X,n);
printf("\nBefore Sorting:\n");
print_array(X,n);
quick_sort(X,0,n-1);
printf("\nAfter Quick Sorting:\n");
print_array(X,n);
}
else
{
printf("\nInvalid Input");
}
}