Language Support
Many standard libraries provide a way to do a binary search:
- C provides algorithm function bsearch in its standard library.
- C++'s STL provides algorithm functions
binary_search,lower_boundandupper_bound. - Java offers a set of overloaded
binarySearchstatic methods in the classesArraysandCollectionsin the standardjava.utilpackage for performing binary searches on Java arrays and onLists, respectively. They must be arrays of primitives, or the arrays or Lists must be of a type that implements theComparableinterface, or you must specify a customComparatorobject. - Microsoft's .NET Framework 2.0 offers static generic versions of the binary search algorithm in its collection base classes. An example would be
System.Array's methodBinarySearch(T array, T value). - Python provides the
bisectmodule. - COBOL can perform binary search on internal tables using the
SEARCH ALLstatement. - Perl can perform a generic binary search using the CPAN module Search::Binary.
- Go's
sortstandard library package contains functionsSearch,SearchInts,SearchFloat64s, andSearchStrings, which implement general binary search, as well as specific implementations for searching slices of integers, floating-point numbers, and strings, respectively. - For Objective-C, the Cocoa framework provides the NSArray -indexOfObject:inSortedRange:options:usingComparator: method in Mac OS X 10.6+. Apple's Core Foundation C framework also contains a CFArrayBSearchValues function.
Read more about this topic: Binary Search Algorithm
Famous quotes containing the words language and/or support:
“Which I wish to remark
And my language is plain
That for ways that are dark
And for tricks that are vain,
The heathen Chinee is peculiar:
Which the same I would rise to explain.”
—Bret Harte (18361902)
“Many people now believe that if fathers are more involved in raising children than they were, children and sons in particular will learn that men can be warm and supportive of others as well as be high achievers. Thus, fathers involvement may be beneficial not because it will help support traditional male roles, but because it will help break them down.”
—Joseph H. Pleck (20th century)