[−][src]Function out::slice::min_by_cached_key
pub fn min_by_cached_key<T, K: Ord>(
v: &mut [T],
n: usize,
f: impl FnMut(&T) -> K
) -> &mut [T]
Returns the n
smallest items with a key extraction function.
The key function is called only once per element, but for simple key functions sort_by_key
is likely to be faster.
This sort is stable, i.e. it preserves the order of equal elements.
Panics
Panics if n > len
.
Examples
let mut v = [-5_i32, 4, 1, -3, 2]; let min = out::slice::min_by_cached_key(&mut v, 3, |a| a.abs()); assert_eq!(min, [-3, 2, 1]);