Binary search
An iterative binary search SUBROUTINE that returns the index of the target or -1.
SearchingSubroutines
# Iterative binary search on a sorted list
SUBROUTINE binarySearch(items, target)
low ← 0
high ← LEN(items) - 1
WHILE low ≤ high
mid ← (low + high) DIV 2
IF items[mid] = target THEN
RETURN mid
ELSE IF items[mid] < target THEN
low ← mid + 1
ELSE
high ← mid - 1
ENDIF
ENDWHILE
RETURN -1
ENDSUBROUTINE
numbers ← [3, 8, 15, 21, 34, 42, 57]
OUTPUT binarySearch(numbers, 34)
OUTPUT binarySearch(numbers, 5)- Output
4 -1