#include<stdio.h>
#include<stdlib.h>
typedef struct node
{
int data;
struct node *next;
} node;
node * mknode()
{
}
void create(node *h, int num)
{
int i = 0;
h->data = i;
for(i = 1; i < num; i++)
{
h->next = mknode();
h = h->next;
h->data = i;
}
h->next = NULL;
}
void display(node *h)
{
while(1)
{
h = h->next;
if (h != NULL)
else
break;
}
}
void append_end(node *h, int val)
{
while(h->next != NULL)
h = h->next;
h->next = mknode();
h->next->data = val;
h->next->next = NULL;
}
void free_list(node *h)
{
node * tail;
while(h != NULL)
{
tail = h->next;
h = tail;
}
}
int main()
{
node * head = mknode();
int num;
create(head, num);
append_end(head,5);
append_end(head,6);
display(head);
free_list(head);
return 0;
}
I2luY2x1ZGU8c3RkaW8uaD4KI2luY2x1ZGU8c3RkbGliLmg+Cgp0eXBlZGVmIHN0cnVjdCBub2RlCnsKICAgIGludCBkYXRhOwogICAgc3RydWN0IG5vZGUgKm5leHQ7Cn0gbm9kZTsKCm5vZGUgKiBta25vZGUoKQp7CiAgICByZXR1cm4gbWFsbG9jKHNpemVvZihub2RlKSk7Cn0KCnZvaWQgY3JlYXRlKG5vZGUgKmgsIGludCBudW0pCnsKICAgIGludCBpID0gMDsKICAgIGgtPmRhdGEgPSBpOwoKICAgIGZvcihpID0gMTsgaSA8IG51bTsgaSsrKQogICAgewogICAgICAgIGgtPm5leHQgPSBta25vZGUoKTsKICAgICAgICBoID0gaC0+bmV4dDsKICAgICAgICBoLT5kYXRhID0gaTsKICAgIH0KICAgIGgtPm5leHQgPSBOVUxMOwp9Cgp2b2lkIGRpc3BsYXkobm9kZSAqaCkKeyAgIAogICAgd2hpbGUoMSkKICAgIHsKICAgICAgICBwcmludGYoIiVkIiwgaC0+ZGF0YSk7CiAgICAgICAgaCA9IGgtPm5leHQ7CiAgICAgICAgaWYgKGggIT0gTlVMTCkKICAgICAgICAgICAgcHJpbnRmKCIlcyIsICItPiIpOwogICAgICAgIGVsc2UKICAgICAgICAgICAgYnJlYWs7CiAgICB9Cn0KCnZvaWQgYXBwZW5kX2VuZChub2RlICpoLCBpbnQgdmFsKQp7CiAgICB3aGlsZShoLT5uZXh0ICE9IE5VTEwpCiAgICAJaCA9IGgtPm5leHQ7CgogICAgaC0+bmV4dCA9IG1rbm9kZSgpOwogICAgaC0+bmV4dC0+ZGF0YSA9IHZhbDsKICAgIGgtPm5leHQtPm5leHQgPSBOVUxMOwp9Cgp2b2lkIGZyZWVfbGlzdChub2RlICpoKQp7CiAgICBub2RlICogdGFpbDsKCiAgICB3aGlsZShoICE9IE5VTEwpCiAgICB7CiAgICAgICAgdGFpbCA9IGgtPm5leHQ7CiAgICAgICAgZnJlZShoKTsKICAgICAgICBoID0gdGFpbDsKICAgIH0KfQoKaW50IG1haW4oKQp7CiAgICBub2RlICogaGVhZCA9IG1rbm9kZSgpOwogICAgaW50IG51bTsKCiAgICBzY2FuZigiJWQiLCZudW0pOwogICAgY3JlYXRlKGhlYWQsIG51bSk7CgogICAgYXBwZW5kX2VuZChoZWFkLDUpOwogICAgYXBwZW5kX2VuZChoZWFkLDYpOwoKICAgIGRpc3BsYXkoaGVhZCk7CiAgICBmcmVlX2xpc3QoaGVhZCk7CiAgICByZXR1cm4gMDsKfQ==