19次发布
0.6.3 | 2021年11月9日 |
---|---|
0.6.2 | 2020年4月14日 |
0.6.1 | 2020年2月18日 |
0.5.3 | 2019年10月4日 |
0.2.3 | 2019年3月27日 |
#2068 in 数据结构
244 每月下载量
用于 2 crates
105KB
1.5K SLoC
Graphlib
Graphlib是一个简单而强大的Rust图库。
这个库试图提供一个通用的API来构建、修改和遍历图,类似于Rust中其他数据结构,例如 Vec
,HashMap
,VecDeque
等。
使用Graphlib
use graphlib::Graph;
let mut graph: Graph<usize> = Graph::new();
// Add two vertices to the graph
let id1 = graph.add_vertex(1);
let id2 = graph.add_vertex(2);
// Add an edge between the two vertices
graph.add_edge(&id1, &id2);
assert_eq!(*graph.fetch(&id1).unwrap(), 1);
assert_eq!(*graph.fetch(&id2).unwrap(), 2);
// The graph has 2 vertices and one edge at this point
assert_eq!(graph.vertex_count(), 2);
assert_eq!(graph.edge_count(), 1);
// Remove one of the connected vertices
graph.remove(&id1);
assert_eq!(graph.vertex_count(), 1);
assert_eq!(graph.edge_count(), 0);
不使用 std
使用
在 Cargo.toml
中
[dependencies]
graphlib = { version = "*", features = ["no_std"] }
贡献
我们欢迎任何希望为Graphlib做出贡献的人!在开始之前,请查看仓库的 问题部分。
许可证
Graphlib遵循MIT许可证。
依赖关系
~1.5MB
~25K SLoC