折中算法 一维数组元素查找

编出来怎么结果不对 是找不到 可以帮忙看看哪里不对么 讲的一样啊 第一张是讲的 第二张是我编的

img

img


img

看起来第 16 行是多余的,改成:

int BinarySeatch(int a[10], int x, int n=10)
{
    int left = 0, right = n - 1, middle;
    while (left <= right)
    {
        middle = (left + right) / 2;
        if (a[middle] == x)
            return middle;
        else if (x > a[middle])
            left = middle + 1;
        else
            right = middle - 1;
    }
    return -1;
}

望采纳,谢谢。