我正在研究一些代码,我需要将一个Node添加到一个双向链表中。这是我到目前为止的代码:
Node tempNext = cursor.getNext();
temp = new Node(item, null, cursor, tempNext);
tempNext.setPrev(temp);
其中cursor
是新添加的节点应该在之前的节点。
如何设置其他节点以正确维护双向链表的状态?
答案 0 :(得分:6)
编写有意义的变量名称将始终对您有所帮助,绝不使用像temp *:
这样的名称protected void insertNodeAfter(Node currentNode, Node newNode) {
Node displacedNode = currentNode.getNext();
currentNode.setNext(newNode);
newNode.setNext(displacedNode)
displacedNode.setPrev(newNode);
newNode.setPrev(currentNode);
}
答案 1 :(得分:2)
似乎所有你需要添加的是
cursor.setNext(temp);
你有特定的问题吗?
答案 2 :(得分:0)
public void addItemBefore( int info )
{
previousItem = new ListItem( previousItem, info, this );
}