数据结构与算法分析——二分查找

二分查找
给定一个整数X和整数A1,A2,…,An,后者已经预先排序并在内存中,求使得Ai = X的下标i,如果X不在数据中,则返回 -1。
例:
A[6] = {2,3,4,6,7,8}; X =7; 则i=4。
实现代码如下

int BinarySearch(const int A[], int X, int N)
{
    int Low, Mid, High;

    Low = 0; High = N - 1;

    while(Low <= High)
    {
        Mid = (Low + High)/2;
        if(A[Mid] < X)
        {
            Low = Mid + 1;
        }else if (A[Mid] > X)
        {
            High = Mid - 1;
        }
        else
            return Mid;
    }
    return -1;
}

你可能感兴趣的:(数据结构与算法分析——二分查找)