`` Algorithms
`` www.scriptol.org
`` Binary search
`` Returns the index of value in the given array, or
`` -1 if value cannot be found.
`` Assumes array is sorted in ascending order
int binarySearch(int value, array A)
int starting = 0
int ending = A.size()
int mid
int length
while forever
if starting > ending return -1 // not found
length = ending - starting
if length = 0
if value = A[starting] return starting
return -1
/if
mid = starting + int(length / 2)
if value
< A[mid] : ending = mid - 1
> A[mid] : starting = mid + 1
else
return mid
/if
/while
return -1
array x = { 1, 3, 5, 8, 13, 24, 33, 46, 50, 51, 90, 980 }
int value
x.display()
input "Give a value to search:", value
int y = binarySearch(int(value), x)
if y >= 0
print value, "found at", y
else
print value, "not found in array..."
/if