#include<stdio.h>
//quicksort
void quicksort(int a[], int, int);
int partition(int a[],int ,int);
int main() { int i,j,a[33],n,p,r,q;
//printf("Enter the total number for sorting\n");
scanf("%d", &n); for(i=0;i<n;i++) {
//printf("Enter the number in array\n");
scanf("%d", &a[i]); }
p=0;
r=n-1;
quicksort(a,p,r);
for (i=0;i<n;i++) {
printf("\n sorted element %d",a[i]);
}
return 0;
}
void quicksort(int a[33],int p,int r)
{
int q;
if(p<r){
q=partition(a,p,r);
quicksort(a,p,q-1);
quicksort(a,q+1,r);
}
}
int partition(int a[33], int p, int r)
{
int x,i, temp;
x=a[r];
i=p-1;
for (int j=p;j<=r-1;j++)
{
if(a[j]<=x)
{
i=i+1;
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
temp=a[i+1];
a[i+1]=a[r];
a[r]=temp;
return i+1;
}
I2luY2x1ZGU8c3RkaW8uaD4KLy9xdWlja3NvcnQgCnZvaWQgcXVpY2tzb3J0KGludCBhW10sIGludCwgaW50KTsgCmludCBwYXJ0aXRpb24oaW50IGFbXSxpbnQgLGludCk7IAoKaW50IG1haW4oKSB7IGludCBpLGosYVszM10sbixwLHIscTsgCiAgICAvL3ByaW50ZigiRW50ZXIgdGhlIHRvdGFsIG51bWJlciBmb3Igc29ydGluZ1xuIik7IAogICAgc2NhbmYoIiVkIiwgJm4pOyBmb3IoaT0wO2k8bjtpKyspIHsgCiAgICAvL3ByaW50ZigiRW50ZXIgdGhlIG51bWJlciBpbiBhcnJheVxuIik7IAogICAgc2NhbmYoIiVkIiwgJmFbaV0pOyB9IAogICAgcD0wOyAKICAgIHI9bi0xOyAKICAgIHF1aWNrc29ydChhLHAscik7IAogICAgZm9yIChpPTA7aTxuO2krKykgeyAKICAgICAgICBwcmludGYoIlxuIHNvcnRlZCBlbGVtZW50ICVkIixhW2ldKTsgCiAgICAgICAgCiAgICB9IAogICAgcmV0dXJuIDA7Cn0KCnZvaWQgcXVpY2tzb3J0KGludCBhWzMzXSxpbnQgcCxpbnQgcikKICAgIHsKICAgICAgICBpbnQgcTsgICAgICAgICAgCiAgICAgICAgaWYocDxyKXsKICAgICAgICAgICAgcT1wYXJ0aXRpb24oYSxwLHIpOwogICAgICAgICAgICBxdWlja3NvcnQoYSxwLHEtMSk7CiAgICAgICAgICAgIHF1aWNrc29ydChhLHErMSxyKTsKICAgICAgICB9CiAgICB9CmludCBwYXJ0aXRpb24oaW50IGFbMzNdLCBpbnQgcCwgaW50IHIpCiAgICB7CiAgICAgICAgaW50IHgsaSwgdGVtcDsgICAgICAgICAgCiAgICAgICAgeD1hW3JdOyAKICAgICAgICBpPXAtMTsKICAgICAgICBmb3IgKGludCBqPXA7ajw9ci0xO2orKykKICAgICAgICB7CiAgICAgICAgICAgIGlmKGFbal08PXgpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgaT1pKzE7CiAgICAgICAgICAgIHRlbXA9YVtpXTsKICAgICAgICAgICAgYVtpXT1hW2pdOwogICAgICAgICAgICBhW2pdPXRlbXA7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgdGVtcD1hW2krMV07CiAgICAgICAgYVtpKzFdPWFbcl07CiAgICAgICAgYVtyXT10ZW1wOwogICAgICAgIHJldHVybiBpKzE7CiAgICB9