#整理 #二分查找 # #实用工具 #二分法 #特质 #结构

collate

特质和一种数据结构,以支持整理和二分查找

19 个版本

0.4.2 2024 年 8 月 13 日
0.4.1 2023 年 12 月 20 日
0.4.0 2023 年 11 月 6 日
0.3.0 2023 年 7 月 3 日
0.1.1 2021 年 1 月 18 日

315Rust 模式

Download history 45/week @ 2024-04-26 28/week @ 2024-05-03 36/week @ 2024-05-10 49/week @ 2024-05-17 56/week @ 2024-05-24 54/week @ 2024-05-31 39/week @ 2024-06-07 55/week @ 2024-06-14 55/week @ 2024-06-21 24/week @ 2024-06-28 13/week @ 2024-07-05 57/week @ 2024-07-12 75/week @ 2024-07-19 131/week @ 2024-07-26 42/week @ 2024-08-02 204/week @ 2024-08-09

462 每月下载
21 个包中使用 (直接使用 9 个)

Apache-2.0

36KB
807

collate

Rust 整理实用工具

示例用法

use collate::*;

let collator = Collator::default();
let collection = [
    [1, 2, 3],
    [2, 3, 4],
    [3, 4, 5],
];

assert_eq!(collator.bisect_left(&collection, &[1]), 0);
assert_eq!(collator.bisect_right(&collection, &[1]), 1);

lib.rs:

定义了一个 Collate 特质,用于在不同数据类型之间标准化整理方法。提供的 Collator 结构体可以用于整理类型为 T 的项目集合,其中 T: Ord.

Collate 对于实现 B-Tree 或在整理器类型比重复调用 Ord::cmp 更高效的情况下使用很有用,例如使用 rust_icu_ucol 整理本地化字符串。它还适用于处理不必然有自然排序的类型,例如复数。

使用 "stream" 功能标志启用 difftry_diff 函数来计算两个整理好的 Stream 之间的差异,以及 mergetry_merge 函数来合并两个整理好的 Stream.

依赖项

~250KB