Binary search
#include<iostream.h>
int bsearch(int[],int,int);
void main()
{
int
ar[50],item,n,index;
cout<<"
enter desired array size(max.50)....";
cin>>n;
cout<<"\n enter array elements(must
be sorted in asc order)\n";
for(int i=0;i<n;i++)
{
cin>> ar[i]; }
cout<<"\n
enter element to be searched for....";
cin>>item;
index=
bsearch(ar,n,item);
if(index== -1)
cout<<"\n sorry!!! given element could not be found.\n";
else
cout<<"\n element found at index:"<<index<<",position:"<<index+1<<endl;
}
int bsearch(int
ar[],int size, int item)
{
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;
}
0 Comments