#include <stdio.
h>
void quicksort(int A[], int lower, int upper)
{
int i, j, temp;
if (lower >= upper)
return;
i = lower + 1;
j = upper;
while (i <= j)
{
while (i <= upper && A[i] < A[lower])
i = i + 1;
while (j >= lower && A[j] > A[lower])
j = j - 1;
if (i < j)
{
temp = A[i];
A[i] = A[j];
A[j] = temp;
}
}
temp = A[j];
A[j] = A[lower];
A[lower] = temp;
quicksort(A, lower, j - 1);
quicksort(A, j + 1, upper);
}
int main()
{
int n, k;
printf("Enter number of elements: ");
scanf("%d", &n);
int A[n];
printf("Enter elements:\n");
for (k = 0; k < n; k++)
scanf("%d", &A[k]);
quicksort(A, 0, n - 1);
printf("Sorted elements:\n");
for (k = 0; k < n; k++)
printf("%d ", A[k]);
return 0;
}