在Java
中,很容易實現linkedlist
風格的stack
。如何使用LinkedList樣式實現堆棧並進行修改?
我們只需要創建一個內部類Item
,它有兩個屬性:value
和next
。
那麼我們總是主要的第一項。
然後當push
,我們創建了一個新的Item
,讓它的下一個點到當前first item
然後讓當前first item
成爲新item
。
與pop
類似。
但我怎麼能在OCaml中做到這一點?特別是當我們想要in place modification
(mutable
)?
我說mutable
,因爲一個正常的pop
只彈出的價值,而不是新的堆棧。
您能否詳細說明您的堆棧數據結構需要什麼功能? – MisterMetaphor 2013-02-20 23:35:44
另外,如果你想有可能替換堆棧中的元素,只需使用'ref'類型的堆棧實現(如答案中所述)即可。 – didierc 2013-02-21 09:57:37