题目来源

浙大数据结构MOOC-PTA的课后题

题目内容

分析

就是个普通的二分查找,没啥好分析的。

我的程序

Position BinarySearch( List L, ElementType X )
{
    Position left, right;
    left = 1;
    right = L->Last;
    while(left <= right)
    {
        Position middle = (left + right) / 2;    // 记录中间位置
        if(L->Data[middle] == X)return middle;
        else if(L->Data[middle] < X)left = middle +1;
        else if(L->Data[middle] > X)right = middle - 1;
    }
    return NotFound;
}

运行结果