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