Rekursives Einfügen und Durchlaufen verknüpfter Listen in C++
Wir erhalten die ganzzahligen Werte, die zur Bildung der verknüpften Liste verwendet werden. Die Aufgabe besteht darin, zuerst die einfach verknüpfte Liste einzufügen und sie dann mithilfe der rekursiven Methode zu durchlaufen.
Knoten am Ende rekursiv hinzufügen
Wenn der Kopf NULL ist → Knoten zum Kopf hinzufügen
Ansonsten zum Kopf hinzufügen (Kopf → Weiter)
Rekursiv durch die Knoten iterieren
Wenn der Kopf NULL ist → Beenden
-
Andernfalls drucken (Kopf → Weiter)
Beispiel
Eingabe− 1 - 2 - 7 - 9 - 10
Ausgabe
Ausgabe stark>−. Link Ed-Liste: 1 → 2 → 7 → 9 → 10 → NULL
Eingabe− 12 - 21 - 17 - 94 - 18
Ausgabe− Verknüpfte Liste: 12 → 21 → 17 → 94 → 18 → NULL
Die verwendete Methode im folgenden Programm wie folgt
In dieser Methode verwenden wir Funktionen, um Knoten hinzuzufügen und einfach verknüpfte Listen zu durchlaufen und sie für die nächste Eingabe rekursiv aufzurufen.
Akzeptiert eine Struktur SLLNode* mit einer Ganzzahl und einem nächsten Zeiger.
-
Funktion addtoEnd(SLLNode* head, int data) Ruft den Zeiger auf den Kopf der verknüpften Liste und die Ganzzahl des Datenteils ab und fügt den Knoten am Ende der verknüpften Liste hinzu.
li> Wenn der Kopfzeiger NULL ist, ist die Liste leer. Fügen Sie nun einen neuen Knoten hinzu und legen Sie ihn als Kopf fest. Füge head → next als NULL hinzu. Gibt einen Zeiger auf den Knoten zurück
Wenn head nicht null ist, verwenden Sie head->next = addtoEnd(head->next, data), um den Knoten zu head → next hinzuzufügen.
Function traverseList(SLLLNode* head) Durchläuft beginnend mit head und druckt jeden Wert.
Wenn head NULL ist, geben Sie NULL aus und geben Sie
zurück. Andernfalls drucken Sie den Datenwert aus und verwenden Sie traverseList(head->next), um den nächsten zu durchlaufen.
Verwenden Sie addtoEnd() in der Haupterstellungsliste und verwenden Sie traverseList(), um die Liste zu drucken.
Beispiel
#include <bits/stdc++.h> using namespace std; struct SLLNode { int data; SLLNode* next; }; SLLNode* addtoEnd(SLLNode* head, int data){ if (head == NULL){ SLLNode *nodex = new SLLNode; nodex->data = data; nodex->next = NULL; return nodex; } else{ head->next = addtoEnd(head->next, data); } return head; } void traverseList(SLLNode* head){ if (head == NULL){ cout <<"NULL"; return; } cout << head->data << " -> "; traverseList(head->next); } int main(){ SLLNode* head1 = NULL; head1 = addtoEnd(head1, 1); head1 = addtoEnd(head1, 8); head1 = addtoEnd(head1, 56); head1 = addtoEnd(head1, 12); head1 = addtoEnd(head1, 34); cout<<"Linked List is :"<<endl; traverseList(head1); return 0; }
Ausgabe
Wenn wir den obigen Code ausführen, wird die folgende Ausgabe generiert
Linked List is : 1 -> 8 -> 56 -> 12 -> 34 -> NULL
Das obige ist der detaillierte Inhalt vonRekursives Einfügen und Durchlaufen verknüpfter Listen in C++. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Die Rekursionstiefe von C++-Funktionen ist begrenzt und das Überschreiten dieser Grenze führt zu einem Stapelüberlauffehler. Der Grenzwert variiert je nach System und Compiler, liegt aber meist zwischen 1.000 und 10.000. Zu den Lösungen gehören: 1. Tail-Rekursionsoptimierung; 2. Tail-Call;

Ja, C++-Lambda-Ausdrücke können die Rekursion mithilfe von std::function unterstützen: Verwenden Sie std::function, um einen Verweis auf einen Lambda-Ausdruck zu erfassen. Mit einer erfassten Referenz kann sich ein Lambda-Ausdruck rekursiv selbst aufrufen.

Verwendung von MINUS in SQL und spezifische Codebeispiele In SQL ist MINUS ein Operator, der zum Durchführen einer Differenzoperation zwischen zwei Ergebnismengen verwendet wird. Es wird verwendet, um dieselben Zeilen aus dem ersten Ergebnissatz wie im zweiten Ergebnissatz zu löschen. Die vom MINUS-Operator zurückgegebene Ergebnismenge enthält Zeilen, die nur in der ersten Ergebnismenge vorhanden sind. Das Folgende ist ein spezifisches Codebeispiel, um die Verwendung von MINUS zu demonstrieren: Angenommen, es gibt zwei Tabellen – „Tabelle1“ und „Tabelle2“. Ihre Strukturen sind wie folgt: Tabellenname: Feld Tabelle1

Der rekursive Algorithmus löst strukturierte Probleme durch den Selbstaufruf von Funktionen. Der Vorteil besteht darin, dass er einfach und leicht zu verstehen ist. Der Nachteil besteht jedoch darin, dass er weniger effizient ist und einen Stapelüberlauf verursachen kann Der Vorteil der Stapeldatenstruktur besteht darin, dass sie effizienter ist und einen Stapelüberlauf vermeidet. Der Nachteil besteht darin, dass der Code möglicherweise komplexer ist. Die Wahl zwischen rekursiv und nicht rekursiv hängt vom Problem und den spezifischen Einschränkungen der Implementierung ab.

Java ist eine beliebte Programmiersprache mit leistungsstarken Funktionen zur Dateiverarbeitung. In Java ist das Durchsuchen eines Ordners und das Abrufen aller Dateinamen ein üblicher Vorgang, der uns dabei helfen kann, Dateien in einem bestimmten Verzeichnis schnell zu finden und zu verarbeiten. In diesem Artikel wird erläutert, wie eine Methode zum Durchlaufen eines Ordners und zum Abrufen aller Dateinamen in Java implementiert wird, und es werden spezifische Codebeispiele bereitgestellt. 1. Verwenden Sie die rekursive Methode, um den Ordner zu durchlaufen. Die rekursive Methode ist eine Möglichkeit, sich selbst aufzurufen und den Ordner effektiv zu durchlaufen.

Eine rekursive Funktion ist eine Technik, die sich selbst wiederholt aufruft, um ein Problem bei der Zeichenfolgenverarbeitung zu lösen. Es erfordert eine Beendigungsbedingung, um eine unendliche Rekursion zu verhindern. Rekursion wird häufig bei Operationen wie der String-Umkehr und der Palindromprüfung verwendet.

Rekursion ist eine leistungsstarke Technik, die es einer Funktion ermöglicht, sich selbst aufzurufen, um ein Problem zu lösen. In C++ besteht eine rekursive Funktion aus zwei Schlüsselelementen: dem Basisfall (der bestimmt, wann die Rekursion stoppt) und dem rekursiven Aufruf (der das Problem aufteilt). kleinere Teilprobleme). Indem Sie die Grundlagen verstehen und praktische Beispiele wie faktorielle Berechnungen, Fibonacci-Folgen und binäre Baumdurchläufe üben, können Sie Ihre rekursive Intuition entwickeln und sie sicher in Ihrem Code verwenden.

1. Öffnen Sie die WPS-Software und rufen Sie die WPS-Textbedienungsoberfläche auf. 2. Suchen Sie die Einfügeoption in dieser Schnittstelle. 3. Klicken Sie auf die Option „Einfügen“ und suchen Sie im Bearbeitungsbereich nach der Option „Form“. 4. Klicken Sie auf die Formoption und suchen Sie im Untermenü nach der empfohlenen Option. 5. Suchen Sie in den empfohlenen Optionen nach der Option „China-Karte“. 6. Klicken Sie auf die Option „China-Karte“ und ziehen Sie sie mit der linken Maustaste in den Bearbeitungseingabebereich, um die benötigte China-Karte zu erhalten.
