在双向链表中添加节点

Jac*_*son 0 java linked-list

我正在研究一些代码,我需要将一个Node添加到一个双向链表中.这是我到目前为止的代码:

Node tempNext = cursor.getNext();
temp = new Node(item, null, cursor, tempNext);
tempNext.setPrev(temp);
Run Code Online (Sandbox Code Playgroud)

cursor新添加的节点应该到达之前的节点在哪里.

如何设置其他节点以正确维护双向链表的状态?

rod*_*oap 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);
}
Run Code Online (Sandbox Code Playgroud)