Function out::max_unstable_by_key

source ·
pub fn max_unstable_by_key<T, K: Ord>(
    v: &mut [T],
    n: usize,
    f: impl FnMut(&T) -> K
) -> &mut [T]
Expand description

Get the n largest items decided by a key generated by f.

Examples

let mut v = [-5_i32, 4, 1, -3, 2];
let max = out::max_unstable_by_key(&mut v, 3, |a| a.abs());
assert_eq!(max, [-3, 4, -5]);