Heim > Backend-Entwicklung > C++ > Löschen Sie den ersten Knoten einer verknüpften Liste mit C++

Löschen Sie den ersten Knoten einer verknüpften Liste mit C++

WBOY
Freigeben: 2023-09-22 09:17:08
nach vorne
1482 Leute haben es durchsucht

Löschen Sie den ersten Knoten einer verknüpften Liste mit C++

Bei einer verknüpften Liste müssen wir das erste Element löschen und den Zeiger auf den Kopf der neuen verknüpften Liste zurücksetzen.

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

Input : 2 -> 4 -> 6 -> 8 -> 33 -> 67 -> NULL
Output : 4 -> 6 -> 8 -> 33 -> 67 -> NULL
Nach dem Login kopieren

In der gegebenen Aufgabe müssen wir den ersten Knoten der Liste entfernen und den Kopf zum zweiten Element verschieben und den Kopf zurückgeben.

So finden Sie die Lösung

Bei diesem Problem können wir den Kopf in die nächste Position bewegen und dann den vorherigen Knoten loslassen.

Beispiel

#include <iostream>
using namespace std;
/* Link list node */
struct Node {
   int data;
   struct Node* next;
};
void push(struct Node** head_ref, int new_data) { // pushing the data into the list
   struct Node* new_node = new Node;
   new_node->data = new_data;
   new_node->next = (*head_ref);
   (*head_ref) = new_node;
}
int main() {
   Node* head = NULL;
   push(&head, 12);
   push(&head, 29);
   push(&head, 11);
   push(&head, 23);
   push(&head, 8);
   auto temp = head; // temp becomes head
   head = head -> next; // our head becomes the next element
   delete temp; // we delete temp i.e. the first element
   for (temp = head; temp != NULL; temp = temp->next) // printing the list
      cout << temp->data << " ";
   return 0;
}
Nach dem Login kopieren

Ausgabe

23 11 29 12
Nach dem Login kopieren

Oben Codebeschreibung

Wir müssen nur den Kopf zum nächsten Element im Programm bewegen, dann das vorherige Element löschen und dann die neue Liste drucken. Die Gesamtzeitkomplexität des gegebenen Programms beträgt O(1), was bedeutet, dass unser Programm nicht von der gegebenen Eingabe abhängt, was die beste Komplexität darstellt, die wir erreichen können.

Fazit

In diesem Artikel haben wir ein Problem gelöst, das beim Löschen des ersten Knotens einer verknüpften Liste auftrat. Wir haben auch ein C++-Programm für dieses Problem und unseren vollständigen Lösungsansatz kennengelernt. Wir können das gleiche Programm in anderen Sprachen wie C, Java, Python und anderen schreiben. Wir hoffen, dass dieser Artikel für Sie hilfreich war.

Das obige ist der detaillierte Inhalt vonLöschen Sie den ersten Knoten einer verknüpften Liste mit C++. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
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