#include <stdio.h>
#include <stdlib.h>
struct Node {
int data;
};
struct Node*createNote(int data){
struct Node
*newNode
=(struct Node
*)malloc
(sizeof(struct Node
)); if(!newNode) {
printf("Memory allocation error!\n"); }
newNode->data=data;
return newNode;
}
void insertAtEnd(struct Node**head,int data){
struct Node*newNode = createNote(data);
if(*head==NULL){
*head=newNode;
} else{
struct Node*temp=*head;
}
}
void displayList(struct Node*head){
if(head==NULL){
}else {
struct Node*temp=head;
while(temp!=NULL){
}
{
void freeList(struct Node*head) {
struct Node*temp;
while(head!=NULL) {
temp=head;
free(temp);
}
}
int main() {
struct Node*head=NULL;
insertAtEnd(&head,10);
insertAtEnd(&head,20);
insertAtEnd(&head,30);
displayList(head);
freeList(head);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4Kc3RydWN0IE5vZGUgewogICAgaW50IGRhdGE7CiAgICBzdHJ1Y3QgTm9kZSpuZXh0Owp9OwpzdHJ1Y3QgTm9kZSpjcmVhdGVOb3RlKGludCBkYXRhKXsKICAgIHN0cnVjdCBOb2RlKm5ld05vZGUgPShzdHJ1Y3QgTm9kZSopbWFsbG9jKHNpemVvZihzdHJ1Y3QgTm9kZSkpOwogICAgaWYoIW5ld05vZGUpIHsKICAgICAgICBwcmludGYoIk1lbW9yeSBhbGxvY2F0aW9uIGVycm9yIVxuIik7CiAgICAgICAgZXhpdCgxKTsKICAgIH0KICAgIG5ld05vZGUtPmRhdGE9ZGF0YTsKICAgIG5ld05vZGUtPm5leHQ9TlVMTDsKICAgIHJldHVybiBuZXdOb2RlOwp9CnZvaWQgaW5zZXJ0QXRFbmQoc3RydWN0IE5vZGUqKmhlYWQsaW50IGRhdGEpewogICAgc3RydWN0IE5vZGUqbmV3Tm9kZSA9IGNyZWF0ZU5vdGUoZGF0YSk7CiAgICBpZigqaGVhZD09TlVMTCl7CiAgICAgICAgKmhlYWQ9bmV3Tm9kZTsKICAgICAgIH0gZWxzZXsKICAgICAgICAgICAgc3RydWN0IE5vZGUqdGVtcD0qaGVhZDsKICAgICAgICAgICAgd2hpbGUodGVtcC0+bmV4dCE9TlVMTCkgCiAgICAgICAgICAgICAgICB0ZW1wPXRlbXAtPm5leHQ7CiAgICAgICB9CiAgICAgICAgfQogICAgICAgIHZvaWQgZGlzcGxheUxpc3Qoc3RydWN0IE5vZGUqaGVhZCl7CiAgICAgICAgICAgIGlmKGhlYWQ9PU5VTEwpewogICAgICAgICAgICAgICAgcHJpbnRmKCJMaXN0IGlzIGVtcHR5LlxuIik7CiAgICAgICAgICAgIH1lbHNlIHsKICAgICAgICAgICAgICAgIHN0cnVjdCBOb2RlKnRlbXA9aGVhZDsKICAgICAgICAgICAgICAgIHdoaWxlKHRlbXAhPU5VTEwpewogICAgICAgICAgICAgICAgICAgIHByaW50ZigiJWQtPiIsdGVtcC0+ZGF0YSk7CiAgICAgICAgICAgICAgICAgICAgdGVtcD10ZW1wLT5uZXh0OwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgcHJpbnRmKCJOVUxMXG4iKTsKICAgICAgICAgICAgewogICAgICAgIAogICAgICAgIHZvaWQgZnJlZUxpc3Qoc3RydWN0IE5vZGUqaGVhZCkgewogICAgICAgICAgICBzdHJ1Y3QgTm9kZSp0ZW1wOwogICAgICAgICAgICB3aGlsZShoZWFkIT1OVUxMKSB7CiAgICAgICAgICAgICAgICB0ZW1wPWhlYWQ7CiAgICAgICAgICAgICAgICBoZWFkPWhlYWQtPm5leHQ7CiAgICAgICAgICAgICAgICBmcmVlKHRlbXApOwp9Cn0KaW50IG1haW4oKSB7CiAgICBzdHJ1Y3QgTm9kZSpoZWFkPU5VTEw7CiAgICBpbnNlcnRBdEVuZCgmaGVhZCwxMCk7CiAgICBpbnNlcnRBdEVuZCgmaGVhZCwyMCk7CiAgICBpbnNlcnRBdEVuZCgmaGVhZCwzMCk7CiAgICBwcmludGYoIkxpbmtlZCBsaXN0OiIpOwogICAgZGlzcGxheUxpc3QoaGVhZCk7CiAgICBmcmVlTGlzdChoZWFkKTsKICAgIHJldHVybiAwOwp9