2个不稳定版本
0.1.0 | 2023年8月5日 |
---|---|
0.0.0 | 2023年7月3日 |
#2124 在 数据结构
9KB
164 行
Pathtree
用于快速路径操作的不变树数据结构。
PathTree
易于克隆,并支持相互拼接路径。当树中的多个对象需要存储相对于根的路径时很有用。
用法
use pathtree::PathTree;
let path = PathTree::empty();
let path = path.append_segment(7);
let path = path.append_segment(5);
let path = path.prepend_segment(6);
let path = path.prepend_segment(8);
let path_vec: Vec<_> = path.iter().copied().collect();
assert_eq!(path_vec, vec![8, 6, 7, 5]);
let other_path = PathTree::empty();
let other_path = other_path.append_segment(2);
let other_path = other_path.prepend_segment(1);
let other_path = other_path.append_segment(3);
let other_path = other_path.prepend_segment(4);
let full_path = other_path.append(&path);
let full_path_vec: Vec<_> = full_path.iter().copied().collect();
assert_eq!(full_path_vec, vec![4, 1, 2, 3, 8, 6, 7, 5]);
lib.rs
:
用于快速路径操作的不变树数据结构。
PathTree
易于克隆,并支持相互拼接路径。当树中的多个对象需要存储相对于根的路径时很有用。