5 个版本
0.2.1 | 2022年7月14日 |
---|---|
0.2.0 | 2022年7月10日 |
0.1.2 | 2019年8月2日 |
0.1.1 | 2018年9月19日 |
0.1.0 | 2018年9月5日 |
#1384 在 数据结构
每月308 次下载
用于 p2panda-rs
43KB
548 行
Incremental Topo
一种用于增量维护拓扑排序的数据结构。
用法
要使用 incremental-topo
,首先将其添加到您的 Cargo.toml
[dependencies]
incremental-topo = "0.2.1"
然后,将其添加到您的 crate 中
use incremental_topo::IncrementalTopo;
let mut dag = IncrementalTopo::new();
let cat = dag.add_node();
let dog = dag.add_node();
let human = dag.add_node();
assert_eq!(dag.len(), 3);
dag.add_dependency(&human, &dog).unwrap();
dag.add_dependency(&human, &cat).unwrap();
dag.add_dependency(&dog, &cat).unwrap();
let animal_order: Vec<_> = dag.descendants(&human).unwrap().collect();
assert_eq!(animal_order, vec![dog, cat]);
有关更多详细信息,请参阅 文档。
许可协议
本项目采用 MIT 许可证和 Apache 2.0 许可证双重许可。
依赖项
~160KB