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;
}
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
Post a Comment