#directed-graph #vertex #github #com-lwander-lgl

lgl

小型有向图库 https://github.com/lwander/lgl

2 个版本

使用旧的 Rust 2015

0.1.1 2016年6月1日
0.1.0 2016年5月31日

#21 in #vertex

Apache-2.0

7KB
113

lgl

使用 Rust 编写的图库。

动机

我了解到在 Rust 中编写图库很困难,因为 Rust 的内置所有权和借用特性,因为每个顶点都可以被任意数量的其他顶点引用。所以我决定尝试一下,以便学习这门语言。此外,这也许可以作为以后在 Rust 中编写编译器的有用工具。

使用

let d1 = 1;
let d2 = 2;

let mut g = DirectedGraph::new();

g.add_vertex(&d1);
g.add_vertex(&d2);

g.add_edge(&d1, &d2);

let neighbors = g.neighbors(&d1);

assert!(g.is_edge(&d1, &d2));
assert!(!g.is_edge(&d2, &d1));
assert!(neighbors.contains(&d2));

测试

$ cargo test

lib.rs:

lgl

提供处理有向图的简单 API。

无运行时依赖