#include<stdio.h>
void quicksort(int a[],int x,int n)
{ int k;
if(x<n)
{ k=partition(a,x,n);
quicksort(a,x,k-1);
quicksort(a,k+1,n);
}
}
int partition(int a[],int x,int n)
{
int i=x,l=n,temp;
temp=a[i];
if(i<l)
{ while(i<l&&a[l]>=temp)
l--;
a[i]=a[l];
while(i<l&&a[i]<=temp)
i++;
a[l]=a[i];
}
a[i]=temp;
return i;
}
main()
{
int a[100]={56,21,88,32,99,44,2,4,83,23},i,j,k,n=10;
int x=0;
for(j=0;j<n;j++)
printf("%d\t",a[j]);
printf("\n\n");
quicksort(a,x,n-1);
for(j=0;j<n;j++)
printf("%d\t",a[j]);
printf("\n\n");
}
void quicksort(int a[],int x,int n)
{ int k;
if(x<n)
{ k=partition(a,x,n);
quicksort(a,x,k-1);
quicksort(a,k+1,n);
}
}
int partition(int a[],int x,int n)
{
int i=x,l=n,temp;
temp=a[i];
if(i<l)
{ while(i<l&&a[l]>=temp)
l--;
a[i]=a[l];
while(i<l&&a[i]<=temp)
i++;
a[l]=a[i];
}
a[i]=temp;
return i;
}
main()
{
int a[100]={56,21,88,32,99,44,2,4,83,23},i,j,k,n=10;
int x=0;
for(j=0;j<n;j++)
printf("%d\t",a[j]);
printf("\n\n");
quicksort(a,x,n-1);
for(j=0;j<n;j++)
printf("%d\t",a[j]);
printf("\n\n");
}