#include <stdio.h>
typedef struct ValueNode
{
int value;
struct ValueNode *next;
} ValueNode;
ValueNode *append(int value,ValueNode *next)
{
ValueNode
*tmp
=(ValueNode
*)malloc(sizeof(ValueNode
)); tmp->value=value;
tmp->next=next;
return tmp;
}
void showValueNodes(ValueNode *head)
{
for(;head
;head
=head
->next
) printf(" %d",head
->value
); }
int main()
{
ValueNode *head=NULL;
showValueNodes(head);
head=append(10,head);
showValueNodes(head);
head=append(20,head);
showValueNodes(head);
head=append(30,head);
showValueNodes(head);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp0eXBlZGVmIHN0cnVjdCBWYWx1ZU5vZGUKICB7CiAgIGludCB2YWx1ZTsKICAgc3RydWN0IFZhbHVlTm9kZSAqbmV4dDsKICB9IFZhbHVlTm9kZTsKIApWYWx1ZU5vZGUgKmFwcGVuZChpbnQgdmFsdWUsVmFsdWVOb2RlICpuZXh0KQogIHsKICAgVmFsdWVOb2RlICp0bXA9KFZhbHVlTm9kZSopbWFsbG9jKHNpemVvZihWYWx1ZU5vZGUpKTsKICAgdG1wLT52YWx1ZT12YWx1ZTsKICAgdG1wLT5uZXh0PW5leHQ7CiAgIHJldHVybiB0bXA7CiAgfQogCnZvaWQgc2hvd1ZhbHVlTm9kZXMoVmFsdWVOb2RlICpoZWFkKQogIHsKICAgcHJpbnRmKCJ7Iik7CiAgIGZvcig7aGVhZDtoZWFkPWhlYWQtPm5leHQpIHByaW50ZigiICVkIixoZWFkLT52YWx1ZSk7CiAgIHByaW50ZigiIH1cbiIpOwogIH0KCmludCBtYWluKCkKICB7CiAgIFZhbHVlTm9kZSAqaGVhZD1OVUxMOwogICBzaG93VmFsdWVOb2RlcyhoZWFkKTsKICAgaGVhZD1hcHBlbmQoMTAsaGVhZCk7CiAgIHNob3dWYWx1ZU5vZGVzKGhlYWQpOwogICBoZWFkPWFwcGVuZCgyMCxoZWFkKTsKICAgc2hvd1ZhbHVlTm9kZXMoaGVhZCk7CiAgIGhlYWQ9YXBwZW5kKDMwLGhlYWQpOwogICBzaG93VmFsdWVOb2RlcyhoZWFkKTsKICAgcmV0dXJuIDA7CiAgfQ==