perform a binary placement in a list
BinaryPlace(L, x, f, opt1, opt2, ...)
list, Vector, or one-dimensional Array
(optional) procedure, operator, or algebraic expression
opt1, opt2, ...
(optional) extra arguments to f
The BinaryPlace(L, x) function performs a binary placement of x in L, where L is assumed to be sorted. It returns the greatest index n such that L[n] precedes x. If x precedes all elements in a list L, then the value 0 is returned.
In this form of the calling sequence, x must be of type numeric or string and L should contain values of the same type in ascending order.
BinaryPlace also accepts a Vector or one-dimensional Array as its first argument. If x precedes all elements in an Array, then the value that is returned is the lowerbound of the Array minus one. Since Vectors, like lists, always have a lowerbound of 1, the value returned for a Vector in this case is 0.
If L is a list, then the returned value n is such that op⁡1..n,L,x,op⁡n+1..−1,L is still a sorted list. If L is a Vector or Array, then the returned value n is such that op⁡convert⁡L..n,list,x,op⁡convert⁡Ln+1..,list is sorted.
If three or more arguments are specified in the calling sequence, then f⁡x,y,opt1,opt2,... must return true if x precedes y.
An example with a reverse-sorted Array. Note that the eight elements of this Array are indexed with the numbers −2 up to 5.
By supplying `>` for f, we get BinaryPlace to understand the reverse ordering.
We find that the elements −2 up to 2 are the positive ones, 3 up to 5 are negative.
The ListTools[BinaryPlace] command was updated in Maple 18.
The L parameter was updated in Maple 18.
Download Help Document
What kind of issue would you like to report? (Optional)