Skip to content

Commit 9d70866

Browse files
committed
Space efficient strategy for k_smallest_by_key
1 parent 821df5b commit 9d70866

File tree

1 file changed

+1
-7
lines changed

1 file changed

+1
-7
lines changed

src/lib.rs

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2766,13 +2766,7 @@ pub trait Itertools : Iterator {
27662766
F: Fn(&Self::Item) -> K,
27672767
K: Ord,
27682768
{
2769-
let iter = self.map(|v| (key(&v), v));
2770-
2771-
let results: Vec<_> =
2772-
crate::k_smallest::k_smallest_general(iter, k, |(k, _), (l, _)| k.cmp(&l))
2773-
.map(|(_, t)| t)
2774-
.collect();
2775-
results.into_iter()
2769+
self.k_smallest_by(k, |a,b| key(&a).cmp(&key(&b)))
27762770
}
27772771

27782772
/// Sort the k largest elements into a new iterator, in descending order.

0 commit comments

Comments
 (0)