Heim  >  Artikel  >  Web-Frontend  >  JavaScript-Programm zum paarweisen Austausch von Elementen einer bestimmten verknüpften Liste

JavaScript-Programm zum paarweisen Austausch von Elementen einer bestimmten verknüpften Liste

王林
王林nach vorne
2023-09-06 20:45:08976Durchsuche

用于成对交换给定链表元素的 JavaScript 程序

In diesem Tutorial lernen wir ein JavaScript-Programm zum paarweisen Austausch von Elementen einer bestimmten verknüpften Liste. Eine häufige Operation bei verknüpften Listen besteht darin, benachbarte Elemente paarweise auszutauschen. Dieser Vorgang ist in verschiedenen Szenarios nützlich, z. B. beim Neuorganisieren von Daten, beim Neuanordnen von Elementen in einer bestimmten Reihenfolge oder beim Optimieren bestimmter Algorithmen. Darüber hinaus konzentrieren wir uns auf die Lösung des Problems des paarweisen Austauschs von Elementen in einer bestimmten verknüpften Liste mithilfe von JavaScript. Wir werden einen schrittweisen Ansatz zur Implementierung des Algorithmus bereitstellen und die Logik und den Code dahinter erläutern. Am Ende dieses Tutorials verfügen Sie über ein klares Verständnis dafür, wie Sie ein JavaScript-Programm implementieren, um Elemente in einer verknüpften Liste paarweise auszutauschen, sowie über Beispielcode und Anweisungen für jeden Schritt.

Lassen Sie uns in die Lösung dieses Problems in JavaScript eintauchen!

Problemstellung

Anhand einer verknüpften Liste besteht die Aufgabe darin, ein JavaScript-Programm zu implementieren, das Elemente paarweise austauscht. Mit anderen Worten: Elemente an aufeinanderfolgenden Positionen in der verknüpften Liste werden miteinander ausgetauscht. Wenn die Anzahl der Elemente in der verknüpften Liste ungerade ist, bleibt das letzte Element unverändert. Das Programm sollte den geänderten Kopf der verknüpften Liste zurückgeben.

Beispiel

Beispiel 1 -

Input: 1 -> 2 -> 3 -> 4 -> 5
Output: 2 -> 1 -> 4 -> 3 -> 5

Erklärung- In der angegebenen verknüpften Liste werden die Elemente an den Positionen 1 und 2 (1 und 2 sind 0-Indizes) vertauscht und das Ergebnis ist 2 -> 1 -> 3 -> 4 -> 5. Dann die Positionen werden vertauscht. Für die Elemente 3 und 4 ist das Ergebnis 2 -> 1 -> 4 -> 3 -> 5.

Beispiel 2 -

Input: 10 -> 20 -> 30 -> 40 -> 50 -> 60 -> 70
Output: 20 -> 10 -> 40 -> 30 -> 60 -> 50 -> 70

Erklärung In der angegebenen verknüpften Liste werden die Elemente an den Positionen 1 und 2 ausgetauscht und das Ergebnis ist 20 -> 10 -> 30 -> 40 -> 50 -> 60 -> 70. Dann Die Positionen 3 und 4 werden ausgetauscht und das Ergebnis ist 20 -> 10 -> 40 -> 30 -> 50 -> 60 -> 70. Abschließend werden die Elemente an den Positionen 5 und 6 vertauscht, sodass sich 20 -> 10 -> 40 -> 30 -> 60 -> 50 -> 70 ergibt.

Lassen Sie uns nun den Algorithmus zur Implementierung dieser Problemstellung verstehen.

Algorithmus

  • Erstellen Sie eine Funktion namens „pairwiseSwap(head)“, die den Kopf der verknüpften Liste als Eingabe verwendet.

  • Initialisieren Sie eine temporäre Variable temp, um den aktuellen Knoten zu speichern und ihn an den Kopf der verknüpften Liste zu setzen.

  • Durchlaufen Sie die verknüpfte Liste mit einer Schrittgröße von 2, dh verschieben Sie zwei Knoten gleichzeitig.

  • Vertauschen Sie für jedes Knotenpaar die Werte.

  • Gehen Sie zum nächsten Knotenpaar.

  • Setzen Sie diesen Vorgang fort, bis Sie das Ende der verknüpften Liste erreicht haben oder keine Paare mehr zum Tauschen vorhanden sind.

  • Gibt den geänderten Header der verknüpften Liste zurück.

Nachdem wir den Algorithmus verstanden haben, implementieren wir ihn anhand eines Beispiels, in dem wir ihn mithilfe von JavaScript implementieren.

Beispiel: Mit JavaScript implementiert

Das obige Programm implementiert den paarweisen Austausch von Elementen in einer bestimmten verknüpften Liste. Es verwendet die Node-Klasse, um die Knoten einer verknüpften Liste darzustellen, und verwendet die Funktion pairwiseSwap(), um die Werte benachbarter Knoten paarweise auszutauschen. Das Programm erstellt zunächst eine verknüpfte Liste mit einem bestimmten Satz von Elementen, zeigt die ursprüngliche verknüpfte Liste an, führt einen paarweisen Austausch mit der Funktion „pairwiseSwap()“ durch und zeigt dann die aktualisierte verknüpfte Liste mit den ausgetauschten Elementen an.

Eingabe: Ursprüngliche verknüpfte Liste: 1 -> 2 -> 3 -> 4 -> 5 -> null

Erwartete Ausgabe: Verknüpfte Liste nach paarweisem Austausch: 2 -> 1 -> 4 -> 3 -> 5 -> null

class Node {
   constructor(value) {
      this.value = value;
      this.next = null;
   }
}
function pairwiseSwap(head) {
   let temp = head;
   while (temp !== null && temp.next !== null) {
      // Swap values of current and next nodes
      let tempVal = temp.value;
      temp.value = temp.next.value;
      temp.next.value = tempVal;
      // Move to the next pair of nodes
      temp = temp.next.next;
   }
   return head;
}

// Linked list with odd number of elements
let head = new Node(1);
let node2 = new Node(2);
let node3 = new Node(3);
let node4 = new Node(4);
let node5 = new Node(5);
head.next = node2;
node2.next = node3;
node3.next = node4;
node4.next = node5;
console.log("Original Linked List:");
let temp = head;
while (temp !== null) {
   process.stdout.write(temp.value + " -> ");
   temp = temp.next;
}
console.log("null");
head = pairwiseSwap(head);
console.log("Linked List after Pairwise Swapping:");
temp = head;
while (temp !== null) {
   process.stdout.write(temp.value + " -> ");
   temp = temp.next;
}
console.log("null");

Fazit

Zusammenfassend zeigt das in diesem Tutorial bereitgestellte JavaScript-Programm eine effiziente Lösung für den paarweisen Austausch von Elementen in einer bestimmten verknüpften Liste. Der Algorithmus iteriert über eine verknüpfte Liste und tauscht benachbarte Elemente paarweise aus, was zu einer aktualisierten verknüpften Liste mit ausgetauschten Elementen führt. Diese Lösung ist in verschiedenen Szenarien nützlich, in denen ein Elementaustausch während verknüpfter Listenoperationen erforderlich ist. Durch die Implementierung dieses Programms können wir mithilfe von JavaScript problemlos einen paarweisen Austausch von Elementen in einer verknüpften Liste durchführen.

Das obige ist der detaillierte Inhalt vonJavaScript-Programm zum paarweisen Austausch von Elementen einer bestimmten verknüpften Liste. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen