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;
}

Comments