Binary search in c++

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;                                                              
 }                                                                           
                                       

Post a Comment

0 Comments