📝
too-many-list-zh
  • 目录
  • 介绍
  • 一个糟糕的单链栈
    • 布局
    • New
    • 所有权
    • Push
    • Pop
    • 测试
    • Drop
    • 最终代码
  • 一个还行的单链栈
    • Option
    • Generic
    • Peek
    • IntoIter
    • Iter
    • IterMut
    • 最终代码
  • 一个不可变栈
    • 布局
    • 基础
    • Drop
    • Arc
    • 最终代码
  • 一个糟糕但安全的双向队列
    • 布局
    • 构建
    • 任务分解
    • Peek
    • 对称情况
    • Iteration
    • 最终代码
  • 一个不安全的队列
    • 布局
    • UnSafe
    • 基础
    • 拓展
    • 最终代码
  • 一个还行不安全双向队列
  • 一堆无聊的清单
    • 双重单链表
Powered by GitBook
On this page

Was this helpful?

一个不可变栈

好了,我们已经掌握了可变单链栈的技巧。

让我们通过编写一个不可变的单链链表,从单一所有权转移到共享所有权。这正是函数式程序员所熟悉和喜爱的列表。你可以拿着头或者尾巴把别人的头放在别人的尾巴上。。。还有。。。基本上就是这样。不变性是一种可怕的药物。

在这个过程中,我们将很大程度上熟悉 Rc 和 Arc。但这将使我们进入下一个改变游戏规则的清单。

让我们添加一个名为 third.rs 的新文件:

// in lib.rs

pub mod first;
pub mod second;
pub mod third;

这次没有复制粘贴。 这是一个的操作。

Previous最终代码Next布局

Last updated 4 years ago

Was this helpful?