已解决:
问题原因,含有尾结点的双链表未完成尾结点的指向,在第一个节点插入的时候,需要完成尾结点的指向
代码如下
//如果是第一个节点
if(isEmpty()){
Node before = head;
//创建第一个节点
Node<T> newNode = new Node<>(t, null, null);
head.next = newNode;
newNode.pre = head;
//完成尾结点的指向
newNode.next = last;
last.pre = newNode;
N++;
}else{
Node before = last.pre;
//before newNode last
//创建一个新的节点
Node<T> newNode = new Node<>(t, null, null);
before.next = newNode;
newNode.pre = before;
newNode.next = last;
last.pre = newNode;
N++;
}
本文讲解了如何在含有尾结点的双链表中,确保新插入的第一个节点后,尾节点的指针正确连接。通过示例代码展示了在链表为空和非空情况下完成尾部指针调整的过程。
590

被折叠的 条评论
为什么被折叠?



