QUICK SORT IN C

#include<stdio.h>
int partition(int list[],int first,int last){
int t,loc=list[(first+last)/2];
while(first<=last){
while(list[first]<loc)
first++;
while(list[last]>loc)
last--;
if(first<=last){
t=list[first];
list[first]=list[last];
list[last]=t;
first++;
last--;
}
}
return first;
}
void quick_sort(int arr[],int first,int last){
int loc;
if(first>=last)
return ;
loc=partition(arr,first,last);
quick_sort(arr,first,loc-1);
quick_sort(arr,loc,last);
return ;
}
int main(){
 int i,n;
 printf("Enter size of array:\n");
 scanf("%d",&n);
 int list[n];
 printf("Enter list of elements:\n");
 for(i=0;i<n;i++)
 scanf("%d",&list[i]);

quick_sort(list,0,n-1);

 printf("The sorted list is :\n");
 for(i=0;i<n;i++)
 printf("%d\n",list[i]);
 return 0;
}

Comments