#include<stdio.h>
void swap(int* a, int* b)
{
int t = *a;
*a = *b;
*b = t;
}
int partition(int arr[], int p , int q)
{
int x= arr[p];
int i= p;
for(int j=p+1;j<=q;j++)
{
if(arr[j]<x)
{
i++;
swap(&arr[i],&arr[j]);
}
}
swap(&arr[p],&arr[i]);
return i;
}
void QuickSort(int arr[],int p, int q)
{
if(p<q)
{
int r=partition(arr,p,q);
QuickSort(arr,p,r-1);
QuickSort(arr,r+1,q);
}
}
int main()
{
int arr[30],n,i;
printf("Enter no of elements:");
scanf("%d",&n);
printf("Enter array elements:");
for(i=0;i<n;i++)
scanf("%d",&arr[i]);
QuickSort(arr,0,n-1);
printf("\nSorted array is :");
for(i=0;i<n;i++)
printf("%d ",arr[i]);
return 0;
}
Leave a comment