编辑代码

 
// 二分查找函数
int binarySearch(int arr[], int left, int right, int target)
{
    // 终止条件
    if(left > right)
        return -1;

    int mid = (left + right) / 2;

    // 比较中值和目标值
    if(arr[mid] == target) 
        return mid;
    else if(arr[mid] > target)
        return binarySearch(arr,left,mid-1,target);
    else
        return binarySearch(arr,mid+1,right,target);
}

// 主函数
int main(){
    int arr[] = {1,3,5,7,9,11};
    int target = 7;
    int left = 0;
    int right = 5;

    int result = binarySearch(arr,left,right,target);
    (result == -1) ? cout << "No found !" : cout << "Index is : " << result <<endl;

    return 0;
}