# 要素数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 # 存在しない