#include<stdio.h>
#include<alloc.h>
void quick(int,int);
int *array,n,i,c=0;
int main()
{
printf("Enter number of elements in the array");
scanf("%d",&n);
array= (int*) calloc(n,sizeof(int));
printf("Enter elements ");
for(int i=1;i<=n;i++)
scanf("%d",&array[i]);
quick(1,n);
printf("\n");
for(i=1;i<=n;i++)
printf("%d ",array[i]);
printf("\n %d",c);
//system("pause");
return 0;
}
void quick(int x,int y)
{
int l,k,temp;
k=x;
l=y;
if((y-x)>=1)
{
while(l>=x)
{
if(array[k]>array[l]&&k<l)
{
c++;
temp=array[l];
array[l]=array[k];
array[k]=temp;
k=l;
l--;
}
else
if(array[k]<array[l]&&k>l)
{
c++;
temp=array[l];
array[l]=array[k];
array[k]=temp;
temp=k;
k=l;
l=temp;
}
else
l--;
}
quick(x,k-1);
quick(k+1,y);
}
}