#include<stdio.h>
struct node
{
int item;
struct node *next
};
int main()
{
struct node *start,*list,*temp;
int i;
start
= (struct node
*)malloc(sizeof(struct node
)); list = start;
start->next = NULL;
for(i=1;i<5 ;i++)
{
list->item = i;
list
->next
= (struct node
*)malloc(sizeof(struct node
)); list = list->next;
}
list->next = NULL;
temp = start;
int length =0;
while(temp!=NULL)
{
if (temp->next == NULL)
{
break;
}
else
{
length++;
temp=temp->next;
}
}
printf("Length of Linked List : %d \n",length
); printf("Elements of linked lists are :\n"); while(start != NULL)
{
if (start->next == NULL)
{
break;
}
start = start->next;
}
return 0;
}
I2luY2x1ZGU8c3RkaW8uaD4Kc3RydWN0IG5vZGUKewogICAgaW50IGl0ZW07CiAgICBzdHJ1Y3Qgbm9kZSAqbmV4dAp9OwppbnQgbWFpbigpCnsKICAgIHN0cnVjdCBub2RlICpzdGFydCwqbGlzdCwqdGVtcDsKICAgIGludCBpOwogICAKICAgIHN0YXJ0ID0gKHN0cnVjdCBub2RlICopbWFsbG9jKHNpemVvZihzdHJ1Y3Qgbm9kZSkpOwogICAgbGlzdCA9IHN0YXJ0OwogICAgc3RhcnQtPm5leHQgPSBOVUxMOwogICAgZm9yKGk9MTtpPDUJO2krKykKICAgIHsgICAKICAgICAgICBsaXN0LT5pdGVtID0gaTsKICAgICAgICBsaXN0LT5uZXh0ID0gKHN0cnVjdCBub2RlICopbWFsbG9jKHNpemVvZihzdHJ1Y3Qgbm9kZSkpOwogICAgICAgIGxpc3QgPSBsaXN0LT5uZXh0OwogICAgICAgfQogICAgbGlzdC0+bmV4dCA9IE5VTEw7CiAgICB0ZW1wID0gc3RhcnQ7CiAgICBpbnQgbGVuZ3RoID0wOwogICAgd2hpbGUodGVtcCE9TlVMTCkKICAgIHsKICAgIAkgCiAgICAJaWYgKHRlbXAtPm5leHQgPT0gTlVMTCkgCiAgICAJICB7CiAgICAgICAgICAgYnJlYWs7CiAgICAJICB9CiAgICAJIGVsc2UKICAgIAkgewogICAgICAgIGxlbmd0aCsrOwogICAgICAgIHRlbXA9dGVtcC0+bmV4dDsKICAgICAgICB9CiAgICB9CnByaW50ZigiTGVuZ3RoIG9mIExpbmtlZCBMaXN0IDogJWQgXG4iLGxlbmd0aCk7CnByaW50ZigiRWxlbWVudHMgb2YgbGlua2VkIGxpc3RzIGFyZSA6XG4iKTsKICAgd2hpbGUoc3RhcnQgIT0gTlVMTCkKICAgIHsgICAKICAgIAlpZiAoc3RhcnQtPm5leHQgPT0gTlVMTCkgCiAgICAJICB7CiAgICAgICAgICAgYnJlYWs7CiAgICAJICB9CiAgICAgICAgcHJpbnRmKCIlZFxuIixzdGFydC0+aXRlbSk7CiAgICAgICAgc3RhcnQgPSBzdGFydC0+bmV4dDsKICAgIH0gCnJldHVybiAwOwp9CgoK