我們將寫一個 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中文網其他相關文章!