#include<stdio.h>
void interchange(int a[],int i,int j){
int temp = a[i];
a[i] = a[j];
a[j] = temp;
}
int partition(int a[],int p, int q){
int v = a[p];
int i = p,j = q+1;
do{
do{
i = i+1;
}while(a[i]<v && i<=q);
do{
j = j-1;
}while(a[j]>v && j>=p);
if(i<j){
interchange(a,i,j);
}
}while(i<j);
interchange(a,p,j);
return j;
}
void quickSort(int a[] ,int p, int q){
if(p<q){
int j = partition(a,p,q);
quickSort(a,p,j-1);
quickSort(a,j+1,q);
}
}
int main(){
int n;
printf("\n Enter size:");
scanf("%d",&n);
int a[n];
printf("Enter elements:");
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
}
quickSort(a,0,n-1);
printf("\n Sorted Array:");
for(int i=0;i<n;i++){
printf("%d \t",a[i]);
}
printf("\n");
return 0;
}
Comments