我目前在尝试理解链表时遇到了麻烦。我有一些使用节点的代码,并被要求使用迭代方法在整数参数中指定的索引位置创建一个新节点,其中存储了字符串参数。索引位置的旧节点应该跟在新插入的节点之后。
这些是字段:
// a string that contains the full name on the filesystem of an image file.
private String imageName;
// a reference to the next ImageNode in the linked list.
private ImageNode next;
//temporary node created to start the set of nodes
private ImageNode temp = this;
这是我到目前为止编写的代码:注意 getNext() 返回下一个节点。
private void addIter(String imageFileStr, int pos) {
int count = 0;
while(temp.getNext() != null){
temp = temp.getNext();
count++;
if(count == pos){
temp.getNext() = ???
}
}
}
这是添加两个节点的正确方法吗?如果是这样,则当前仅当需要将节点添加到当前节点集的末尾时才有效。我将如何修改代码,以便它允许我在集合中间添加一个节点并让旧节点按照上面的说明跟随它(“索引位置的旧节点现在应该跟随新插入的节点。”)?
最后,我如何创建一个等于 addIter 输入的变量 (x),以便我可以设置 temp.getNext() = x?(目前在代码中用问号表示)。