Heim  >  Artikel  >  Backend-Entwicklung  >  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
WBOYnach vorne
2023-09-22 09:17:081411Durchsuche

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

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;
}

Ausgabe

23 11 29 12

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!

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