#include<stdio.h>
#include<stdlib.h>
typedef struct node{
int val;
struct node *next;
}Node;
Node *head = NULL;
Node *createN(int x){
Node *newnode;
newnode
= (Node
*)malloc(sizeof(Node
)); newnode->val = x;
newnode->next = NULL;
return newnode;
}
void initL(int n){
int x,i;
Node *p;
head = createN(x);
p = head;
for(i=1;i<n;i++){
p->next = createN(x);
p = p->next;
}
}
void freeL(){
Node *p;
while(head!=NULL){
p = head->next;
head = p;
}
}
void printN(Node *a){
if(a
== NULL
)printf("NULL\n"); }
void printL(){
Node *p = head;
while(p !=NULL){
p = p->next;
}
}
Node *getN(int n){
int i;
Node *p;
p = head;
for(i=1;i<n;i++)
p=p->next;
return p;
}
int countL(){
int ret=0;
Node*p = head;
while(p!=NULL){
ret++;
p=p->next;
}
return ret;
}
int main(void){
int i,n;
initL(n);
printL();
freeL();
return 0;
}
I2luY2x1ZGU8c3RkaW8uaD4KI2luY2x1ZGU8c3RkbGliLmg+Cgp0eXBlZGVmIHN0cnVjdCBub2RlewoJaW50IHZhbDsKCXN0cnVjdCBub2RlICpuZXh0Owp9Tm9kZTsKCk5vZGUgKmhlYWQgPSBOVUxMOwoKTm9kZSAqY3JlYXRlTihpbnQgeCl7CglOb2RlICpuZXdub2RlOwoJbmV3bm9kZSA9IChOb2RlKiltYWxsb2Moc2l6ZW9mKE5vZGUpKTsKCW5ld25vZGUtPnZhbCA9IHg7CgluZXdub2RlLT5uZXh0ID0gTlVMTDsKCXJldHVybiBuZXdub2RlOwp9Cgp2b2lkIGluaXRMKGludCBuKXsKCWludCB4LGk7CglOb2RlICpwOwoJc2NhbmYoIiVkIiwmeCk7CgloZWFkID0gY3JlYXRlTih4KTsKCXAgPSBoZWFkOwoJZm9yKGk9MTtpPG47aSsrKXsKCQlzY2FuZigiJWQiLCZ4KTsKCQlwLT5uZXh0ID0gY3JlYXRlTih4KTsKCQlwID0gcC0+bmV4dDsKCX0KfQoKdm9pZCBmcmVlTCgpewoJTm9kZSAqcDsKCXdoaWxlKGhlYWQhPU5VTEwpewoJCXAgPSBoZWFkLT5uZXh0OwoJCWZyZWUoaGVhZCk7CgkJaGVhZCA9IHA7Cgl9Cn0KCnZvaWQgcHJpbnROKE5vZGUgKmEpewoJaWYoYSA9PSBOVUxMKXByaW50ZigiTlVMTFxuIik7CgllbHNlIHByaW50ZigiJWQiLGEtPnZhbCk7Cn0KCnZvaWQgcHJpbnRMKCl7CglOb2RlICpwID0gaGVhZDsKCXdoaWxlKHAgIT1OVUxMKXsKCQlwcmludGYoIiVkIixwLT52YWwpOwoJCXAgPSBwLT5uZXh0OwoJfQoJcHJpbnRmKCJcbiIpOwp9CgpOb2RlICpnZXROKGludCBuKXsKCWludCBpOwoJTm9kZSAqcDsKCXAgPSBoZWFkOwoJZm9yKGk9MTtpPG47aSsrKQoJcD1wLT5uZXh0OwoJcmV0dXJuIHA7Cn0KCmludCBjb3VudEwoKXsKCWludCByZXQ9MDsKCU5vZGUqcCA9IGhlYWQ7Cgl3aGlsZShwIT1OVUxMKXsKCQlyZXQrKzsKCQlwPXAtPm5leHQ7Cgl9CglyZXR1cm4gcmV0Owp9CgppbnQgbWFpbih2b2lkKXsKCWludCBpLG47CglzY2FuZigiJWQiLCZuKTsKCWluaXRMKG4pOwoJcHJpbnRMKCk7CglwcmludGYoIuimgee0oOaVsDolZCIsY291bnRMKCkpOwoJZnJlZUwoKTsKCXJldHVybiAwOwp9CgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCg==