Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Grundkonzept und Struktur | Implementing Data Structures
C-Strukturen
Abschnitt 5. Kapitel 2
single

single

Grundkonzept und Struktur

Swipe um das Menü anzuzeigen

Eine verkettete Liste in C ist eine einfache dynamische Datenstruktur, die aus Elementen besteht, die als Knoten bezeichnet werden. Jeder Knoten enthält Daten (wie eine Variable oder ein Objekt) sowie einen Zeiger auf den nächsten Knoten in der Liste.

verkettete+Liste

So sieht ein typischer Knoten in einer einfach verketteten Liste in C aus:

struct+node
main.c

main.c

1234
struct Node { int data; // data in node struct Node* next; // pointer to next node };

Wenn Sie anstelle eines Zeigers auf den nächsten Knoten einfach eine Instanz eines neuen Knotens erstellen, erhalten Sie einen Fehler.

Der Compiler kann für eine solche Struktur keinen Speicher reservieren, da sie sich selbst enthält. Das ist, als würde man versuchen, sich selbst mit den eigenen Augen von außen zu betrachten.

Die Verwendung eines Zeigers löst dieses Problem, da der Compiler weiß, wie viel Speicher für eine Zeigervariable reserviert werden muss.

Note
Hinweis

Der Zeiger des letzten Knotens ist immer NULL.

Aufgabe

Wischen, um mit dem Codieren zu beginnen

Erstellen einer Funktion createNode, die dynamisch Speicher für einen neuen Knoten einer verketteten Liste alloziert. Die Funktion soll das Feld data mit dem angegebenen Wert initialisieren und den Zeiger next auf NULL setzen.

Anschließend im main-Programm mehrere Knoten erstellen, diese miteinander verknüpfen und die verkettete Liste ausgeben.

  1. Innerhalb von createNode Speicher für einen neuen Knoten mit malloc reservieren und in (struct Node*) casten.
  2. Überprüfen, ob die Speicherreservierung fehlgeschlagen ist. Falls newNode NULL ist, eine Fehlermeldung ausgeben und NULL zurückgeben.
  3. Das Feld data des neuen Knotens mit dem Parameter value initialisieren.
  4. Den Zeiger next des neuen Knotens auf NULL setzen.
  5. Den Zeiger auf den neu erstellten Knoten zurückgeben.

Lösung

Switch to desktopWechseln Sie zum Desktop, um in der realen Welt zu übenFahren Sie dort fort, wo Sie sind, indem Sie eine der folgenden Optionen verwenden
War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 5. Kapitel 2
single

single

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

some-alt