Element in struct suchen und löschen?
-
Hallo Leute,
im Zuge meiner Prüfungsvorbereitung in Informatik (FH), bin ich soeben auf eine Prüfungsaufgabe gestoßen, bei der ich gar nicht so recht weiß, wie ich rangehen soll!
**Die Aufgabe lautet:
**
*Schreiben Sie eine C-Funktion, die ein Element in einer nach einem Schlüssel sortierten, einfach verketteten Liste sucht und dann löscht. Beachten Sie den Fall, dass das zu löschende Element das erste sein kann! Der Funktion soll der Schlüssel und die Anfangsadresse der Liste übergeben werden und sie doll die Anfangsadresse zurückgeben.Für das Element sei folgende Struktur deklariert:*
struct es{ int schluessel; struct inhalt sonstiges; struct es *next; }
Ich wäre euch sehr verbunden, wenn ihr mir ein paar Denk-/Lösungshinweise geben könntet! Dankeschön!
--
Mit freundlichen Grüßen,
Chris
-
Das Teil soll aus der verketteten Liste verschwinden.
Suchen (und finden), Zeiger umbiegen, Speicher freigeben.
-
Liste durchlaufen, Schlüssel vergleichen, gegebenenfalls (d.h. bei Gleichheit) Listenelemente aus Liste löschen.
-
Du musst dich durch die Liste hangeln, bis der Schüssel gefunden ist. Dann setzt du den next-Zeiger des Elements davor auf das Element danach. Ist das gesuchte Element das letzte, muß der next-Zeiger des Elements davor ungültig gemacht werden (z.B. durch Setzen auf 0).