Maison  >  Article  >  interface Web  >  Le programme JavaScript supprime les nœuds de rechange de la liste chaînée

Le programme JavaScript supprime les nœuds de rechange de la liste chaînée

WBOY
WBOYavant
2023-08-24 14:25:04549parcourir

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

Nous allons écrire un programme JavaScript pour supprimer le nœud de rechange de la liste chaînée. Nous utiliserons une boucle while pour parcourir la liste chaînée, en gardant une trace des nœuds actuels et précédents. À chaque itération de la boucle, nous sauterons le nœud actuel et lierons le nœud précédent directement au nœud suivant, supprimant ainsi le nœud actuel de la liste. Ce processus sera répété jusqu'à ce que tous les nœuds de remplacement aient été supprimés de la liste chaînée.

Méthode

  • Parcourez la liste chaînée du début à la fin.

  • Pour chaque nœud, stockez son prochain nœud.

  • Supprimez le nœud à côté du nœud actuel.

  • Mettez à jour la référence suivante du nœud actuel vers la référence suivante du nœud suivant.

  • Passez au nœud suivant, qui est maintenant le prochain du nœud suivant.

  • Répétez ce processus jusqu'à ce que vous atteigniez la fin de la liste chaînée.

  • Enfin, après avoir supprimé tous les nœuds de rechange, renvoyez la tête de la liste chaînée.

Exemple

Ceci est un exemple complet de suppression d'un nœud de remplacement de liste chaînée en 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();

Instructions

  • Nous créons d'abord une classe Node qui représente chaque nœud de la liste chaînée, qui contient un champ data et un champ next pointant vers le nœud suivant de la liste.

  • Ensuite, nous créons une classe LinkedList qui contient le nœud principal de la liste chaînée et une méthode printList pour imprimer la liste chaînée.

  • La méthode
  • deleteAlternate

    de la classe LinkedList est utilisée pour supprimer des nœuds alternatifs dans la liste chaînée. Cette méthode parcourt la liste chaînée et met à jour le pointeur next de chaque nœud pour pointer vers le nœud suivant dans la liste chaînée, supprimant ainsi le nœud alternatif.

  • Enfin, nous créons une liste chaînée et l'imprimons avant et après avoir supprimé le nœud de rechange.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer