# 从元素数为 N 的数组 A 的区间 [0, N) 中找到 key 的位置
binarySearch(A, N, key):
    left ← 0
    right ← N  
    while left < right:
        mid ← (left + right)/2
        if  A[mid] = key:
            return mid
        else if A[mid] < key:
            left ← mid + 1
        else
            right ← mid

    return NIL # 元素不存在