我如何在 Rust 中实现一棵节点知道其父节点和子节点的树

问题描述 投票:0回答:0

我一直在尝试用

Rc<RefCell<>>
之类的东西来实现这个,但我总是遇到问题,谁能给我提供一个示例实现的链接?\

这是我试过的:

pub struct Node<T> {
    value: T,
    parent: Option<Rc<RefCell<Node<T>>>,
    children: Vec<Rc<RefCell<Node<T>>>>,
}

我遇到的大多数问题都来自这样一个事实,即一个节点引用它的父节点,但它的父节点也引用该节点。

注意:我没有包含诸如添加子节点之类的功能,因为它很简单:创建对其父节点具有

Rc::clone()
的子节点,然后将子节点推入父节点的子字段。

rust tree refcell
© www.soinside.com 2019 - 2024. All rights reserved.