Zitat von
msi
deine einfache verkettete liste funktioniert so leider nicht.
soll ich dir jetzt auch noch funktionnen schreiben, damit du siehst dass die funktioniert?
Code:
struct liste{
int element;
struct liste *next;
};
struct kopf{
struct liste *first;
struct liste *last;
} a;
void insert(int x){
struct liste *tmp;
tmp = malloc(sizeof(struct liste));
tmp->next = NULL;
tmp->element = x;
if(!first) // liste leer
{
a.first = tmp;
a.last = tmp;
}
else // nicht leer
{
(a.last)->next = tmp;
a.last = tmp;
}
}
int get()
{
if(!a.first)
error("liste zu leer");
struct liste *freeelement;
int tmp= (a.first)->element;
freeelement = a.first;
a.first = (a.first)->next;
if(a.first == NULL) // letztes element ging raus
a.last == NULL;
free(freeelement);
return tmp;
}
nicht kompilegetestet verdeutlicht aber dass es funktioniert.
Lesezeichen