merged_range

Crates.iomerged_range
lib.rsmerged_range
version0.1.0
sourcesrc
created_at2023-04-03 01:38:09.17734
updated_at2023-04-03 01:38:09.17734
descriptionrangeset that can merge overlap
homepage
repositoryhttps://github.com/datenlord/merged_range
max_upload_size
id828736
size37,904
(themanforfree)

documentation

README

merged_range

A crate that can merge overlapping ranges

Apache licensed CI

Overview

merged_range is used to query whether the given range is contained in the existing range, if it is contained, return true, otherwise return false. it uses a sorted vector to store ranges. and it can merge the new range with the existing ranges. insert and query time complexity is both O(logn).

Example

add dependency to Cargo.toml

[dependencies]
merged_range = "0.1.0"

then use it in your code

use merged_range::MergedRange;

let mut mr = MergedRange::new();
mr.insert_range(&(1..10));
mr.insert_range(&(5..20));

assert_eq!(mr.contains_range(&(3..15)), true);
assert_eq!(mr.contains_range(&(10..21)), false);

License

This project is licensed under the MIT license.

Commit count: 3

cargo fmt