#include <stdio.h>
#include <stdlib.h>
struct element
{
int value; /* der Wert des Elements */
struct element *next; /* Zeiger auf das nächste Element */
};
void printliste(const struct element *e)
{
for( ; e != NULL ; e = e->next )
{
}
}
void append(struct element **lst, int value)
{
struct element *neuesElement;
/* Zeiger auf die Einfügeposition ermitteln, d.h. bis zum Ende laufen */
while( *lst != NULL )
{
lst = &(*lst)->next;
}
neuesElement
= malloc(sizeof(*neuesElement
)); /* erzeuge ein neues Element */ neuesElement->value = value;
neuesElement->next = NULL; /* Wichtig für das Erkennen des Listenendes */
*lst = neuesElement;
}
int main()
{
struct element *Liste;
Liste = NULL; /* init. die Liste mit NULL = leere Liste */
append(&Liste, 1); /* füge neues Element in die Liste ein */
append(&Liste, 3); /* füge neues Element in die Liste ein */
append(&Liste, 2); /* füge neues Element in die Liste ein */
printliste(Liste); /* zeige alle Elemente der Liste an */
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCnN0cnVjdCBlbGVtZW50CnsKICAgIGludCB2YWx1ZTsgICAgICAgICAgICAvKiBkZXIgV2VydCBkZXMgRWxlbWVudHMgICAgICAgICAgKi8KICAgIHN0cnVjdCBlbGVtZW50ICpuZXh0OyAvKiBaZWlnZXIgYXVmIGRhcyBuw6RjaHN0ZSBFbGVtZW50ICovCn07CgoKdm9pZCBwcmludGxpc3RlKGNvbnN0IHN0cnVjdCBlbGVtZW50ICplKQp7CiAgICBmb3IoIDsgZSAhPSBOVUxMIDsgZSA9IGUtPm5leHQgKQogICAgewogICAgICAgIHByaW50ZigiJWRcbiIsIGUtPnZhbHVlKTsKICAgIH0KfQoKCnZvaWQgYXBwZW5kKHN0cnVjdCBlbGVtZW50ICoqbHN0LCBpbnQgdmFsdWUpCnsKICAgIHN0cnVjdCBlbGVtZW50ICpuZXVlc0VsZW1lbnQ7CgogICAgLyogWmVpZ2VyIGF1ZiBkaWUgRWluZsO8Z2Vwb3NpdGlvbiBlcm1pdHRlbG4sIGQuaC4gYmlzIHp1bSBFbmRlIGxhdWZlbiAqLwogICAgd2hpbGUoICpsc3QgIT0gTlVMTCApIAogICAgewogICAgICAgIGxzdCA9ICYoKmxzdCktPm5leHQ7CiAgICB9CgogICAgbmV1ZXNFbGVtZW50ID0gbWFsbG9jKHNpemVvZigqbmV1ZXNFbGVtZW50KSk7IC8qIGVyemV1Z2UgZWluIG5ldWVzIEVsZW1lbnQgKi8KICAgIG5ldWVzRWxlbWVudC0+dmFsdWUgPSB2YWx1ZTsKICAgIG5ldWVzRWxlbWVudC0+bmV4dCA9IE5VTEw7IC8qIFdpY2h0aWcgZsO8ciBkYXMgRXJrZW5uZW4gZGVzIExpc3RlbmVuZGVzICAgICAqLwoKICAgICpsc3QgPSBuZXVlc0VsZW1lbnQ7Cn0KCmludCBtYWluKCkKewogICAgc3RydWN0IGVsZW1lbnQgKkxpc3RlOwoKICAgIExpc3RlID0gTlVMTDsgICAgICAvKiBpbml0LiBkaWUgTGlzdGUgbWl0IE5VTEwgPSBsZWVyZSBMaXN0ZSAqLwogICAgYXBwZW5kKCZMaXN0ZSwgMSk7IC8qIGbDvGdlIG5ldWVzIEVsZW1lbnQgaW4gZGllIExpc3RlIGVpbiAgICAqLwogICAgYXBwZW5kKCZMaXN0ZSwgMyk7IC8qIGbDvGdlIG5ldWVzIEVsZW1lbnQgaW4gZGllIExpc3RlIGVpbiAgICAqLwogICAgYXBwZW5kKCZMaXN0ZSwgMik7IC8qIGbDvGdlIG5ldWVzIEVsZW1lbnQgaW4gZGllIExpc3RlIGVpbiAgICAqLwoKICAgIHByaW50bGlzdGUoTGlzdGUpOyAvKiB6ZWlnZSBhbGxlIEVsZW1lbnRlIGRlciBMaXN0ZSBhbiAqLwoKICAgIHJldHVybiAwOwp9Cgo=