在SmallTalk中使用LinkedList类?

问题描述 投票:0回答:3

我不确定我是否完全理解如何使用 SmallTalk Visual Works 提供的 LinkedList 类。我可以通过简单的操作来创建该类的实例:

myList := LinkedList new.

但是如何添加节点。我尝试创建 Link 类的实例并设置一个值,但它似乎不起作用。

myLink := Link new.
myLink value: 3.

我对 Smalltalk 非常陌生,任何帮助将不胜感激!

linked-list smalltalk
3个回答
5
投票

作为新手,最好学习如何使用 OrderedCollection。然后看一下两个类的方法,看看有什么异同。您会发现它们本质上是相同的,因为全部区别在于在集合中间插入和删除元素的性能。在 OrderedCollection 中,会复制整个集合,而在 LinkedList 中,仅将“指针”适应插入的节点。

在实践中,LinkedList 很少使用,因为 OrderedCollection 足以满足大多数(如果不是全部)需求。


3
投票

您应该使用它的方式是通过子类化链接,例如添加一个

value
实例变量和两个方法
#value
#value:
。但正如 Janko 所说,我不会打扰,只使用 OrderedCollection。


0
投票

您需要添加新创建的链接(又名节点) 到链接列表,可以是列表的前面,也可以是列表中最后一项的后面。

列表中的第一项或最后一项。

© www.soinside.com 2019 - 2024. All rights reserved.