QUICK SORT METHOD TO DETERMINE TIME CONSUMED.
#include<stdio.h>
#include<time.h>
#include<stdlib.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;
clock_t s,c;
printf("Enter number of elements :\n");
scanf("%d",&n);
int arr[n];
for(i=0;i<n;i++){
arr[i]=rand()%100;
}
s=clock();
quick_sort(arr,0,n-1);
c=clock();
float t=c-s;
printf("Time taken :%f",t);
return 0;
}
#include<time.h>
#include<stdlib.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;
clock_t s,c;
printf("Enter number of elements :\n");
scanf("%d",&n);
int arr[n];
for(i=0;i<n;i++){
arr[i]=rand()%100;
}
s=clock();
quick_sort(arr,0,n-1);
c=clock();
float t=c-s;
printf("Time taken :%f",t);
return 0;
}
Comments
Post a Comment