使用 Javascript 将元素添加到链接列表

web developmentfront end technologyjavascript

我们需要创建一个函数 insert(data, position),用于将数据插入链接列表中的给定位置。我们将执行以下步骤 −

  • 创建一个新节点
  • 检查列表是否为空。如果为空,则将节点添加到 head 并返回。
  • 如果不是,则我们将使用 currElem 迭代到我们想要插入的位置。我们通过使 currElem 等于 currElem.next 来迭代链接列表。
  • 然后我们将使节点指向列表中的下一个节点。这是为了跟踪列表的其余部分。
  • 最后,我们断开从 currElem 到列表其余部分的链接,并使其指向我们创建的节点。现在节点位于列表中的给定位置。

以下是相同 − 的说明

现在让我们看看如何实现这个 − 

示例

insert(data, position = this.length) {
   let node = new this.Node(data);
   if (this.head === null) {
      this.head = node;
      this.length++;
      return this.head;
   }
   let iter = 1;
   let currNode = this.head;
   while (currNode.next != null && iter < position) {
      currNode = currNode.next; iter++;
   }
   node.next = currNode.next;
   currNode.next = node;
   this.length++;
   return node;
}

请注意,我们将 position 指定为最后一个元素。这是因为如果您不提供 position,它将默认插入到末尾。

您可以使用 − 进行测试

示例

let list = new LinkedList();
list.insert(10);
list.insert(20);
list.insert(30);
list.insert(15, 2);
list.display();

输出

将给出输出 −

10 ->
30 ->
15 ->
20 ->

我们可以看到所有元素都按照我们想要的顺序排列。我们尝试在 2 之后的位置插入 15。


相关文章