Heim > Web-Frontend > js-Tutorial > Das JavaScript-Programm löscht freie Knoten der verknüpften Liste

Das JavaScript-Programm löscht freie Knoten der verknüpften Liste

WBOY
Freigeben: 2023-08-24 14:25:04
nach vorne
627 Leute haben es durchsucht

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

Wir werden ein JavaScript-Programm schreiben, um den Ersatzknoten der verknüpften Liste zu löschen. Wir werden eine While-Schleife verwenden, um die verknüpfte Liste zu durchlaufen und dabei den aktuellen und vorherigen Knoten zu verfolgen. Bei jeder Iteration der Schleife überspringen wir den aktuellen Knoten und verknüpfen den vorherigen Knoten direkt mit dem nächsten Knoten, wodurch der aktuelle Knoten effektiv aus der Liste entfernt wird. Dieser Vorgang wird wiederholt, bis alle Ersatzknoten aus der verknüpften Liste entfernt wurden.

Methode

  • Durchlaufen Sie die verknüpfte Liste von Anfang bis Ende.

  • Speichern Sie für jeden Knoten seinen nächsten Knoten.

  • Löschen Sie den Knoten neben dem aktuellen Knoten.

  • Aktualisieren Sie die nächste Referenz des aktuellen Knotens auf die nächste Referenz des nächsten Knotens.

  • Gehen Sie zum nächsten Knoten, der nun der nächste des nächsten Knotens ist.

  • Wiederholen Sie diesen Vorgang, bis Sie das Ende der verknüpften Liste erreicht haben.

  • Nachdem Sie alle Ersatzknoten gelöscht haben, geben Sie schließlich den Kopf der verknüpften Liste zurück.

Beispiel

Dies ist ein vollständiges Beispiel für das Löschen eines Ersetzungsknotens für verknüpfte Listen in 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();
Nach dem Login kopieren

Anleitung

  • Wir erstellen zunächst eine Node-Klasse, die jeden Knoten in der verknüpften Liste darstellt, die ein data-Feld und ein next-Feld enthält, die auf den nächsten Knoten in der Liste zeigen.

  • Dann erstellen wir eine LinkedList-Klasse, die den Kopfknoten der verknüpften Liste und eine printList-Methode zum Drucken der verknüpften Liste enthält.

  • Die Methode
  • deleteAlternate

    der Klasse LinkedList wird verwendet, um alternative Knoten in der verknüpften Liste zu löschen. Diese Methode iteriert die verknüpfte Liste und aktualisiert den next-Zeiger jedes Knotens so, dass er auf den nächsten Knoten in der verknüpften Liste zeigt, wodurch der alternative Knoten effektiv entfernt wird.

  • Abschließend erstellen wir eine verknüpfte Liste und drucken sie vor und nach dem Entfernen des Ersatzknotens aus.

Das obige ist der detaillierte Inhalt vonDas JavaScript-Programm löscht freie Knoten der verknüpften Liste. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage