[][src]Function out::max_from_iter_by_key

pub fn max_from_iter_by_key<T, K: Ord>(
    iter: impl IntoIterator<Item = T>,
    n: usize,
    f: impl FnMut(&T) -> K
) -> Vec<T>

Get the n largest items from an iterator with a key extraction function.

This function is stable, i.e. it preserves the order of equal elements.

Panics

Panics if n > len.

Examples

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