binary search

#include<stdio.h>
int binarysearch(int arr[],int target,int mid,int size,int *pass)
{
 int l=0;
 int h=size-1;
 while(l<=h)
 {
  int mid=(l+h)/2;
  
  if(arr[mid]==target)
  {
   return 1;
  }
  else if(arr[mid]<target)
  {
   l=mid+1;
   *pass=(*pass)+1;
  }
  else
  {
   h=mid-1;
   *pass=(*pass)+1;
  }
 }
 return -1;
}
int main()
{
int mid;
 int pass=1;
 int arr[]={10,20,30,40,50,60,70};
 int size=sizeof(arr)/sizeof(arr[0]);
 int target;
 printf("enter the number to find\n");
 scanf("%d",&target);
 int ans=binarysearch(arr,target,mid,size,&pass);
 if(ans==-1)
 {
  printf("data not found");
  
 }
 else 
 {
  printf("\n data found at %d pass",pass);
 }
}

Comments

Popular posts from this blog

employee