二进制搜索的逻辑是合理的。唯一的问题是您忘记了将每个递归调用的结果分配给@H_404_1@index和@H_404_1@found。
当前,您有以下这些递归调用:
@H_404_1@BinarySearch(data, target, low, mid - 1) //... BinarySearch(data, target, mid + 1, high)
您只需要分配结果:
@H_404_1@index, found = BinarySearch(data, target, low, mid - 1) //... index, found = BinarySearch(data, target, mid + 1, high)