C++
#include<bits/stdc++.h>
using namespace std;
int binary_search( int arr[], int num, int item ){
int low = 0;
int high = num-1;
while( low <= high ){
int mid = (low + high)/2;
int midValue = arr[mid];
if( midValue==item ){
return mid;
}
if( midValue<item ) {
low = mid+1;
} else {
high = mid-1;
}
// cout<<mid<<" "<<low<<" "<<high<<endl;
}
return -1;
}
int main(){
int arr[] = { 1, 3, 5, 7, 9 };
int item = 2;
int index = binary_search( arr, sizeof(arr) / sizeof(arr[0]), item );
if( index == -1 ){
cout<<"None"<<endl;
} else {
cout<<index<<endl;
}
return 0;
}
JS
function binary_search( arr, item ){
let low = 0;
let high = arr.length - 1;
while( low<=high ){
let mid = Math.floor(( low + high )/2)
if( arr[mid] == item ){
return mid;
}
if( arr[mid]<item ){
low = mid+1;
} else {
high = mid-1;
}
// console.log( mid,low,high )
}
return "None";
}
let arr = [1,3,5,7,9];
console.log( binary_search(arr,3) )
console.log( binary_search(arr,5) )
console.log( binary_search(arr,2) )
console.log( binary_search(arr,-1) )