#include<stdio.h> #include<stdlib.h> #include<time.h> void delay() { int i,j,temp; for(i=0;i<500000;i++) temp=30/333; return; } int binary(int l,int h,int arr[],int key) { int m; delay(); m=(l+h)/2; if(l>h) return -1; if(arr[m]==key) return (m+1); else if(key>arr[m]) return (binary(m+1,h,arr,key)); else return (binary(l,m-1,arr,key)); } int main() { clock_t start,end; int m,l,h,flag; int n, arr[10000],key,i; printf("Enter the value of n: "); scanf("%d",&n); for(i=0;i<n;i++) arr[i]=i; key=arr[n-1]; l=0; h=n-1; i=0; start=clock(); flag=binary(l,h,arr,key); if(flag==-1) printf("\nKey not found!"); else printf("\nKey found at %d position",flag); end=clock(); printf("\nTime taken: %f",(double)(end-start)/CLOCKS_PER_SEC); }