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_ARRAY
signature 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)
iselem
andcmp(key, elem)
returnsEQUAL
; if no such element is present, thenNONE
is returned. This function uses a binary search over the array, which requires that the elements be arranged in increasing order by thecmp
function. 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.