首頁  >  文章  >  web前端  >  JavaScript 程式刪除鍊錶的備用節點

JavaScript 程式刪除鍊錶的備用節點

WBOY
WBOY轉載
2023-08-24 14:25:04598瀏覽

JavaScript 程序删除链表的备用节点

我們將寫一個 JavaScript 程式來刪除鍊錶的備用節點。我們將利用 while 迴圈來遍歷鍊錶,同時追蹤目前和前一個節點。在循環的每次迭代中,我們將跳過當前節點並將前一個節點直接連結到下一個節點,從而有效地從清單中刪除當前節點。這個過程將重複進行,直到所有替代節點都從鍊錶中刪除。

方法

  • 從頭到尾遍歷鍊錶。

  • 對於每個節點,儲存其下一個節點。

  • 刪除目前節點的下一個節點。

  • 將目前節點的下一個引用更新為下一個節點的下一個。

  • 移動到下一個節點,現在是下一個節點的下一個。

  • 重複此過程,直到到達鍊錶末端。

  • 最後,刪除所有備用節點後,回到鍊錶的頭。

範例

這是一個在 JavaScript 中刪除鍊錶替代節點的完整範例 -

// Linked List Node
class Node {
   constructor(data) {
      this.data = data;
      this.next = null;
   }
}

// Linked List class
class LinkedList {
   constructor() {
      this.head = null;
   }
   
   // Method to delete alternate nodes
   deleteAlternate() {
      let current = this.head;
      while (current !== null && current.next !== null) {
         current.next = current.next.next;
         current = current.next;
      }
   }
   
   // Method to print the linked list
   printList() {
      let current = this.head;
      while (current !== null) {
         console.log(current.data);
         current = current.next;
      }
   }
}
// create a linked list
let list = new LinkedList();
list.head = new Node(1);
list.head.next = new Node(2);
list.head.next.next = new Node(3);
list.head.next.next.next = new Node(4);
list.head.next.next.next.next = new Node(5);
console.log("Linked List before deleting alternate nodes: ");
list.printList();
list.deleteAlternate();
console.log("Linked List after deleting alternate nodes: ");
list.printList();

說明

  • 我們先建立一個Node類,代表鍊錶中的每個節點,其中包含一個data欄位和一個next指向清單中下一個節點的字段。

  • 然後,我們建立一個 LinkedList 類,其​​中包含鍊錶的頭節點和一個 printList 方法來列印鍊錶。

  • LinkedList類別的deleteAlternate方法用於刪除鍊錶中的替代節點。此方法迭代鍊錶並更新每個節點的 next 指標以指向鍊錶中的下一個節點,從而有效地刪除備用節點。

  • 最後,我們建立一個鍊錶並在刪除備用節點之前和之後列印它。

以上是JavaScript 程式刪除鍊錶的備用節點的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除