二分查找
实现一个给定的算法。
function binary_search(arr, l, r, x) 
{ 
    if (￼r >= l) { 
        var mid = l + (r - l) / 2; 
  
        // 如果元素存在于中间位置 
        if (arr[mid] == x)  
            return mid; 
  
        // 如果元素比中间位置小，那么它只能存在于左子数组中 
        if (arr[mid] > x)  
            return binary_search(arr, l, mid - 1, x); 
  
        // 否则元素只可能存在于右子数组中 
        return binary_search(arr, mid + 1, r, x); 
    } 
  
    // 当元素不存在于数组中时，执行以下代码 
    return -1; 
}