使用Javascript从链接列表中删除元素
在链接列表中删除元素非常容易。我们只需要摆脱要删除的节点,即失去其引用。我们需要考虑3种情况-
从head中删除元素:在这种情况下,我们可以简单地将head = head.next赋值。这样,我们将丢失第一个元素的引用。并且头将开始指向第二个元素。
从尾部删除元素:在这种情况下,我们可以简单地将倒数第二个节点的node.next分配为null,然后从列表中删除最后一个元素。
从两者之间删除元素:这比较棘手。在这种情况下,我们必须使该节点在要删除的节点之前,直接指向要删除的节点之后的节点。因此,prevNode.next = node.next将为我们做到这一点。
现在让我们看一下这个例子-
现在让我们看一下我们将如何实现它-
示例
remove(data, position = 0) {if (this.length === 0) {
console.log("List is already empty");
return;
}
this.length--;
let currNode = this.head;
//条件1-
if (position <= 0) {
this.head = this.head.next;
}
//条件2-
else if (position >= this.length - 1) {
while (currNode.next.next != null) {
currNode = currNode.next;
}
currNode.next = null;
}
//条件3-
else {
let iter = 0;
while (iter < position) {
currNode = currNode.next; iter++;
}
currNode.next = currNode.next.next;
}
}
您可以使用以下方式进行测试:
示例
let list = new LinkedList();list.insert(10);
list.insert(20);
list.insert(30);
list.remove(1);
list.display();
list.insert(15, 2);
list.remove();
list.display();
输出
这将给出输出-
20 ->30 ->
30 ->
15 ->
以上是 使用Javascript从链接列表中删除元素 的全部内容, 来源链接: utcz.com/z/337986.html