我需要保存一个节点(字符串)列表,并有一个“当前”节点(或者更一般地说是当前节点)。
我会使用由索引指定的向量和当前节点,但有时会从列表中删除节点,这会悄悄地使索引无效,这是不可接受的。
现在我怀疑应该使用Rust中的哪种数据结构:
pub struct DigraphNode<T> { pub next: DigraphNodeRef<T>, // I made it `pub` to be able `item.next.next()` to remove an item from the middle. data: T, } pub struct DigraphNodeRef<T> { rc: Rc<DigraphNode<T>>, }
Rc 无法保存零个强引用。)
Rc