Skip to content

Latest commit

History

27 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Top N Set

Crates.ioCrates.ioLicenseDocs

This crate provides a topset which selects a given number of greatest items. The criterium used to sort the items could be specified as a closure. It is based internally on a binary heap with a fixed size.

The struct TopSet could be used directly or through the trait TopSetReducing which automatically extend the iterator trait.

Note: the returned items are unsorted.

use topset::TopIter;fnmain(){let items = vec![4,5,8,3,2,1,4,7,9,8];// getting the four greatest integers (repeating allowed)
items.iter().cloned().topset(4, i32::gt).into_iter().for_each(|x| eprintln!("in the top 4: {}", x));// getting the four smallest integers// (we just need to reverse the comparison function)
items.topset(4, i32::lt).into_iter().for_each(|x| eprintln!("in the last 4: {}", x));}

will produce (possibly in a different order):

in the top 4: 7
in the top 4: 8
in the top 4: 9
in the top 4: 8
in the last 4: 4
in the last 4: 3
in the last 4: 1
in the last 4: 2

About

Top N set

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages