View source code
Display the source code in std/algorithm/searching.d from which this page was generated on
github.
Improve this page
Quickly fork, edit online, and submit a pull request for this page.
Requires a signed-in GitHub account. This works well for small changes.
If you'd like to make larger changes you may want to consider using
local clone.
Page wiki
View or edit the community-maintained wiki page associated with this page.
Function std.algorithm.searching.minPos
Prototype
Range minPos(alias pred, Range)( Range range ) if (isForwardRange!Range && !isInfinite!Range && is(typeof(binaryFun!pred(range.front, range.front))));
Parameters
Name | Description |
---|---|
pred | The ordering predicate to use to determine the minimal element. |
range | The input range to search. |
Returns
The position of the minimum element of forward range
, i.e.
a subrange of range
starting at the position of its smallest element and
with the same ending as range
. The function can actually be used for
finding the maximum or range
any
other ordering predicate (that's why maxPos
is
not provided).
Example
int[] a = [ 2, 3, 4, 1, 2, 4, 1, 1, 2 ]; // Minimum is 1 and first occurs in position 3 assert(minPos(a) == [ 1, 2, 4, 1, 1, 2 ]); // Maximum is 4 and first occurs in position 2 assert(minPos!("a > b")(a) == [ 4, 1, 2, 4, 1, 1, 2 ]);