非递归:
function BinarySearch(arr,item) {
var left = 0,
right = arr.length-1
while(left<=right){
var mid = Math.floor((left+right)/2)
if(arr[mid] == item){
return mid
}
else if(arr[mid]>item){
right = mid-1
}
else{
left = mid+1
}
}
return false
}
递归
function BinarySearch(arr,item,start,end) {
var mid = Math.floor((start+end)/2)
if(item === arr[mid]){
return mid
}
else if(item<arr[mid]){
return BinarySearch(arr,item,start,mid-1)
}
else{
return BinarySearch(arr,item,mid+1,end)
}
return false
}