OneCompiler

Binary Search in C

158

CODE

#include<stdio.h>

int binarySearch(int arr[],int n,int x)
{
  int l=0,r=n-1,mid;
  while(l<=r)
  {
    mid = l + (r-l)/2;
    
    if (arr[mid]==x)
    {
      return mid;
    }
    
    if (arr[mid]>x)
    {
      r = mid -1;
    }
    else
    {
      l= mid+1;
    }
  }
  return -1;
}


int main()
{
  int n,x;
  scanf("%d",&n);
  int arr[n];
  for (int i=0;i<n;i++)
  {
    scanf("%d",&arr[i]);
  }
  scanf("%d",&x);
  
  int result = binarySearch(arr,n,x);
  
  if(result == -1)
  {
    printf("Element is not present in array");
  }
  else
  {
    printf("Element is present at index is %d",result);
  }
  
  
}