1 个不稳定版本
使用旧Rust 2015
0.0.1 | 2015年5月4日 |
---|
#34 在 #specialized
23KB
495 行
linked-tail-list
专用链表。
lib.rs
:
此模块实现了一个专用链表。
实现中的列表(从现在起称为尾列表)既不是单链表也不是双链表:除了可选的指向下一个节点的链接外,每个节点还有一个指向拥有该节点的链接的引用。
对于每个尾列表,有一个当前“拥有”节点及其尾(所有后续节点)的项目。在此上下文中,“拥有”并不意味着Rust术语中的实际拥有,而是“可变借用”此节点及其尾。此项目将被称为活动项目。
对于每个不属于当前活动项目的节点,存在最多一个被动项目,它拥有一个节点,但 neither 它的前驱 nor 后继。
TailList
、Cursor
和 TailValRef
是活动项目。一个 ValRef
是被动项目。
活动项目可以通过创建对自身的可变借用临时将所拥有的节点所有权转让给另一个项目。