Daten in eine einfach verkettete Liste speichern?

2 Antworten

Wenn du die Datei einliest, müsstest du alle Daten für jeweils ein Buch in einem neuen buch struct bündeln, welches du je Buch anlegst.

Dein LISTELEMENT müsstest du wohl modifizieren, denn data soll ja ein Struct des Typs buch speichern und nicht nur eine Zahl.

Für die Liste wäre es ratsam, sich Start- und Endelement zu merken. Wenn du einen Eintrag zur Liste zufügst, holst du dir das letzte Element aus der Liste und hängst das neue Element als Nachfolger (next) hinten an. Danach aktualisierst du die Variable, die auf den Endknoten zeigt (dies muss ja dann das neue Element sein).

Wenn es noch kein Element in der Liste gibt, müssen Start- und Endknoten auf das neue Element zeigen.

wenn end nicht existiert
  start = neuesBuch
  ende = neues Buch
sonst
  ende->next = neuesBuch
  ende = ende->next

Entweder Du speicherst im Listenelement einen Zeiger auf eine Buch struct udn allokierst jeweils, oder machst buch u einem Teil von Listenelement - Das bleibt Dir überlassen.

Der Member 'int data' ergibt irgendwie keinen Sinn, wozu soll dieser gut sein?

-----

Du solltest erstmal grundsätzlich die Liste implementieren, also auch die OPs, die sie unterstützen soll. Danach kümmerst Du Dich ums befüllen.