11个版本 (6个重大变更)
使用旧版Rust 2015
新版本 0.7.0 | 2024年8月22日 |
---|---|
0.6.2 | 2019年10月2日 |
0.6.1 |
|
0.6.0 | 2018年12月3日 |
0.1.0 | 2016年1月10日 |
在 数据结构 中排名 77
每月下载量 268,708
在 559 个crate(46个直接使用)中使用
39KB
877 行
Ego Tree
基于Vec的ID树。
lib.rs
:
基于Vec的ID树。
行为
- 树至少有一个根节点;
- 节点可以有零个或多个有序子节点;
- 节点最多只有一个父节点;
- 节点可以被分离(成为孤儿节点),但不能被删除;
- 可以以常数时间访问节点的父节点、下一个兄弟节点、前一个兄弟节点、第一个子节点和最后一个子节点;
- 所有方法都在常数时间内执行;
- 所有迭代器都在线性时间内执行。
示例
let mut tree = ego_tree::Tree::new('a');
let mut root = tree.root_mut();
root.append('b');
let mut c = root.append('c');
c.append('d');
c.append('e');
#[macro_use] extern crate ego_tree;
let tree = tree!('a' => { 'b', 'c' => { 'd', 'e' } });