使用 JavaScript 向連結串列新增元素


我們需要建立一個 insert(data, position) 函式,將資料插入到連結串列的給定位置。我們將執行以下步驟 −

  • 建立一個新節點
  • 檢查列表是否為空。如果為空,則將節點新增到頭部並返回。
  • 如果不是,那麼我們將迭代到我們想要使用 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;
}

請注意,我們已經給出了最後一個元素的位置。這是因為如果您沒有提供位置,它將預設插入到末尾。

您可以使用 − 進行測試

示例

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。

更新於: 15-Jun-2020

1K+ 次瀏覽

開啟你的 職業生涯

完成課程後獲得認證

開始
廣告
© . All rights reserved.