Binary Search in Arra
Binary Search in Arra
#include<conio.h>
#include<stdio.h>
int bsearch(in tar[i],int size,int item) //function to perform binary search
{
int beg, last,mid;
beg=0;
last=size-1;
while(beg<=last)
{
mid=(beg+last)/2;
if(item==ar[mid])
return mid;
else if(item>ar[mid])
beg=mid+1;
else
last=mid-1;
}
return -1; //the control will reach here only if the item is not found
}
void main()
{
in tar[50],item,n,index;
clrscr();
printf(“\n ENTER DESIRED ARRAY SIZE(MAX 50)-:”);
scanf(“%d”,&n);
printf(“\n ENTER ARRAY ELEMENTS(must be in acs order)-:\n”);
for(int i=0;i<n;i++)
{
scanf(“%d”,ar[i]);
}
printf(“\n ENTER ELEMENT TO BE SEARCHED FOR-:”);
scanf(“%d”,&item);
index=bsearch(ar,n,item);
if(index==-1)
printf(“\n SORRY!GIVEN ELEMENT COULD NOT BE FOUND.\n”);
else
printf(“\n ELEMENT FOUND AT INDEX %d POSITION %d”,index,(index+1));
getch();
}
OUTPUT
ENTER DESIRED ARRAY SIZE(MAX 50)-:7
ENTER ARRAY ELEMENTS(must be in acs order )- :
2 5 7 8 9 10 15
ENTER ELEMENT TO BE SEARCHED FOR-:8
ELEMENT FOUNT AT INDEX :3, POSITION :4