Listen
← Point Cloud Library | ● | Bäume →
Aufgabe “Verkettete Listen”:
Implementieren Sie eine einfach verkettete Liste am Beispiel einer Geburtstagsdatenbank.
a) Benutzen Sie für einen Knoten der Liste (d.h. eine Person) eine Struktur, welche die persönlichen Daten (Name und Geburtstag) enthält. Zusätzlich enthält jeder Knoten einen Zeiger next
auf den nächsten Knoten der Liste.
b) Schreiben Sie eine Funktion, welche eine bestimmte Person am Anfang der Liste einfügt.
c) Testen Sie Ihre Datenstruktur, indem Sie die 10 Personen aus der letzten Aufgabe einfügen. Geben Sie das Datum der dritten Person der Liste aus! Was sollte daher als Datum erscheinen?
d) Schreiben Sie eine Funktion, welche die Geburtstage einer Anzahl von Personen aus einer Datei einliest und sie in die verkette Liste einfügt. In der Datei sind pro Zeile die Daten jeweils einer Person abgelegt. Das Speicherformat einer Person in jeder Zeile ist “A.;Person mm/dd/yyyy”.
Als Geburtstagsdatenbank können Sie diese Liste von berühmten Persönlichkeiten verwenden.
Hinweis: Lesen Sie eine Zeile via fscanf(file, "%s %d/%d/%d", ...)
. Ersetzen Sie danach alle vorkommenden ‘;’-Zeichen im Namensstring. Die letzte Zeile ist erreicht, wenn fscanf nicht den Funktionswert 4 zurückgibt.
e) Schreiben Sie eine Suchfunktion, welche als Argument den Namen einer gesuchten Person erhält (d.h. eine Zeichenkette). Die Funktion soll die gefundene Person zurückgeben (d.h. einen Knotenzeiger) oder NULL wenn die Suche erfolglos war.
f) Testen Sie die Funktionen, indem Sie in der Datenbank den Geburtstag von “Albert Einstein” suchen und ausgeben.
← Point Cloud Library | ● | Bäume →