einfach verkettete Liste in C

Status
Nicht offen für weitere Antworten.

PaiMei

Mitglied
Hallo,

leider weiß ich nicht wie ich eine einfach verkettete Liste in C implementiere bzw. kann die Beispile im Netz auch nicht wirklich nachvollzierhen.

Kann mir vielleicht bitte jemand anhand eines kurzen Beispiels dies zeigen?
z.B. mit der Methode void add(struct entry* left, struct entry* element) um das Element element nacht dem Listenelement left einzufügen;

bzw: was genau bedeutet struct entry* left in der Methode; handelt es sich hier um einen Zeiger?

danke für die hilfe
 

Marco13

Top Contributor
Das struct entry* left ist ein Zeiger auf eine Struktur namens "entry". Das neue Element soll dann wohl rechts daran angefügt werden.
 

PaiMei

Mitglied
ok verstehe....aber wie weise ich zuvor entry* left meine Eingaben zu;

angenommen ich habe
Java:
struct entry{
char name [10];
int number;
char category[12];
};

wenn ich den Benutzer diese Werte nun eingeben lasse, wie weise ich dann entry left diese Werte zu.....versteh das grad nicht ganz;
ich übergebe ja der Methode einen Zeiger und nicht die einzelnen Werte;
 

Marco13

Top Contributor
Es soll vermutlich das übergebene "element" RECHTS an das "left" gehängt werden.

Man erstellt also irgendwo ein "struct entry element" (z.B. mit einem malloc) füllt dann die name, number und category mit sowas wie
element->category = 123;
und fügt das neue Element dann ein
add(someOtherElement, element) ;


Intern braucht man für diese Liste wohl auch noch sowas wie eine
Code:
typedef struct node
{
    struct element *entry;
    node *next;
} node;
mit der die eigentliche Verkettung gespeichert wird.
 

PaiMei

Mitglied
danke zuerst mal...

kennst du vielleicht ein gutes Online Tutorial wo einfach verkettete Listen gut beschrieben sind....hab leider meines Erachtens nicht wirklich was Brauchbares gefunden, wo ich das Prinzip 100%ig verstehe.
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen


Oben