我的数组中的链接列表不起作用

时间:2017-12-06 17:53:45

标签: java linked-list

我正在尝试创建一个程序来存储数组中的单词。我有一个hashFunction来计算一个Integer值。如果数组中的该位置为null,则此值用于将Word放入节点。如果那里已经存在一个Cell,它应该创建一个新的Cell,并将该单词作为其数据类型,然后它应该指向具有所有其他数据的旧Cell。然而,这似乎没有用 - 我添加了几个单词,虽然它将第一个单词添加到单元格,但其他单词没有被添加。我不确定为什么会这样 - 有人能说明我的原因吗?

Section
SetOutPath $Instdir
File myfiles\*

InitPluginsDir
SetOutPath $PluginsDir
File file.bat
nsExec::Exec '"cmd.exe" /c if 1==1 "$PluginsDir\file.bat"'
Pop $0 ; Exit code
SetOutPath $Temp ; Don't hold lock on pluginsdir
SectionEnd

2 个答案:

答案 0 :(得分:3)

而不是

new Node(word, array[position])

您应该执行以下操作:

array[position] = new Node(word, array[position]);

使用原始代码行,您正在创建Node的新实例,并将当前array[position]指定为next值。

array[position]仍然相同,您需要将其更改为新创建的Node实例。

答案 1 :(得分:2)

您将这个词添加为链接列表中的新节点,但是您永远不会存储对新节点的引用。在链接列表的开头添加节点时,必须将新节点存储为列表的新头部。

在您的情况下,您可以通过以下方式实现这一目标:

array[position]

现在您的链接列表将包含您期望的所有单词。您还可以遍历def _all_answers_completed(self): answers = self.answer_set.all() for answer in answers: if not answer.completed: return False return True 中的链接列表,并在列表末尾添加新节点,如果这更适合您的用例。