8 个版本
使用旧的 Rust 2015
0.1.8 | 2015 年 10 月 6 日 |
---|---|
0.1.7 | 2015 年 3 月 26 日 |
0.1.5 | 2015 年 2 月 20 日 |
0.1.3 | 2015 年 1 月 9 日 |
0.1.0 | 2014 年 11 月 13 日 |
2046 在 数据结构 中
23KB
519 行
Splay 树
这是一个用 Rust 编写的 splay 树实现。这主要是一个概念验证工作,结果证明效果很好!
此存储库作为 Cargo 包提供,只需调整您的 Cargo.toml
以包含
[dependencies]
splay = "0.1"
此代码全部以 MIT 许可证发布。splaying 的实现主要基于 ftp://ftp.cs.cmu.edu/usr/ftp/usr/sleator/splaying/top-down-splay.c
lib.rs
:
包含一个 splay 树的实现,其中每个节点都有一个键/值对,用于映射和集合。唯一的要求是键必须实现 Ord 特性。
示例
use splay::SplayMap;
let mut map = SplayMap::new();
map.insert("foo", "bar");
map.insert("hello", "world");
map.insert("splay", "tree");
for (k, v) in map.into_iter() {
println!("{} => {}", k, v);
}