The BSearchFn functor provides binary search on sorted monomorphic
arrays.
Synopsis
functor BSearchFn (A : MONO_ARRAY)
Functor Argument Interface
A : MONO_ARRAY
Functor Argument Description
A : MONO_ARRAY-
A structure that implements the
MONO_ARRAYsignature from the SML Basis Library.
Interface
structure A : MONO_ARRAY
val bsearch : (('a * A.elem) -> order) -> ('a * A.array) -> (int * A.elem) option
Description
structure A : MONO_ARRAY-
The array structure that defines the element and array types.
val bsearch : (('a * A.elem) -> order) -> ('a * A.array) -> (int * A.elem) option-
bsearch cmp (key, arr)returnsSOME(ix, elem)whereA.sub(arr, ix)iselemandcmp(key, elem)returnsEQUAL; if no such element is present, thenNONEis returned. This function uses a binary search over the array, which requires that the elements be arranged in increasing order by thecmpfunction. Usually, the type of the search key will beA.elem, but the interface allows some computation on the elements, as long as the ordering is respected.