#include <stdio.h>
void swap(int *a, int *b)
{
int temp;
temp = *a;
*a = *b;
*b = temp;
}
void q_sort(int a[], int n)
{
int l = 0;
int r = n-1;
if(n<=1)
{
return;
}
while(l < r )
{
while(l<r && a[l]<=a[r])
{
r--;
}
swap(&a[l],&a[r]);
while(l<r && a[l]<=a[r])
{
l++;
}
swap(&a[l],&a[r]);
}
q_sort(&a[0],l-1);
q_sort(&a[r+1],n-r-1);
}
void main()
{
int a[] = {1,3,2,6,4,5,444,44,4,5,6,7,8,123,432,1};
int i;
int num;
num =sizeof(a)/sizeof(int) ;
q_sort(a,num) ;
for(i=0; i<num ;i++)
{
printf("%d ",a[i]);
}
}