9个版本
0.1.8 | 2021年1月4日 |
---|---|
0.1.7 | 2021年1月4日 |
#1551 in 数据结构
每月21次下载
20KB
398 代码行
xtree
一个简单的Rust通用目的树数据结构。
主页
文档
源代码
构建一棵树
extern crate xtree;
use xtree::*;
let tree =
tr!(1)
/ (tr!(2)
/ tr!(3)
/ tr!(4))
/ tr!(5);
它会构建如下所示的树
// 1
// / \
// 2 5
// / \
// 3 4
深度优先遍历树
for value in tree.df_iter(){
print!("{} ",value);
}
它将在控制台打印 1 2 3 4 5
。
广度优先遍历树并更改值
for value in tree.bf_iter_mut(){
*value += 1;
print!("{} ",value);
}
它将在控制台打印 2 3 6 4 5
。
使用Cursor自由访问节点
let mut cursor = tree.cursor();
创建一个只读cursor指向根节点。
cursor.move_child(0);
将此cursor移动到第一个子节点。
println!("{}",cursor.current());
获取它现在所指向的值。
它将在控制台打印 2
。