在Java
中,很容易实现一种linkedlist
风格stack
。
我们只是创建了一个内部类Item
,它有两个属性:value
和next
。
然后我们总是主要的第一项。
然后push
,我们创建一个新的Item
并让它的下一个指向当前,first item
然后让当前first item
成为新的item
。
可以做类似的事情pop
。
但是我怎样才能在 OCaml 中做到这一点?尤其是当我们想要in place modification
( mutable
) 时?
我说mutable
是因为正常pop
只弹出值,而不是新堆栈。