8 releases
new 0.2.6 | Apr 8, 2025 |
---|---|
0.2.5 | Apr 8, 2025 |
0.2.3 | Mar 19, 2022 |
0.2.2 | Apr 22, 2021 |
0.1.0 | Aug 9, 2020 |
#289 in Algorithms
1,934 downloads per month
Used in 8 crates
(2 directly)
31KB
566 lines
Sorted Insert
This crate provides traits to insert elements to a sorted collection and keep the order.
Examples
use sorted_insert::SortedInsert;
let mut v = vec![1, 5];
v.sorted_insert_asc(2);
assert_eq!([1, 2, 5], v.as_slice());
use sorted_insert::SortedInsertBinary;
let mut v = vec![5, 1];
v.sorted_insert_desc_binary(2);
assert_eq!([5, 2, 1], v.as_slice());
use sorted_insert::SortedInsertByKey;
#[derive(Debug, Copy, Clone, Eq, PartialEq)]
struct A(i32, i32);
let mut v = vec![A(1, 10), A(2, 20)];
v.sorted_insert_asc_by_key(A(1, 15), |e| &e.1);
assert_eq!([A(1, 10), A(1, 15), A(2, 20)], v.as_slice());
No Std
Disable the default features to compile this crate without std.
[dependencies.sorted-insert]
version = "*"
default-features = false
Crates.io
https://crates.io/crates/sorted-insert