# 从元素数为 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 # 元素不存在