#include<stdio.h>
#include<stdlib.h>
struct node{
int data;
struct node * next;
};
void newnode(struct node ** headr , int item)
{
struct node * newn = (struct node *)malloc(sizeof(struct node));
newn->data = item;
newn->next = *headr;
*headr = newn;
}
void printnode(struct node * head)
{
struct node * t = head;
while(t != NULL)
{
printf("%d->" , t->data);
t = t->next;
}
printf("NULL\n");
}
void countnode(struct node * head , int item)
{
struct node * t = head;
int c = 0;
while(t != NULL)
{
if(t->data == item)
c+=1;
t = t->next;
}
printf("%d occurs %d times\n" ,item,c);
}
int main()
{
struct node * head =NULL;
newnode(&head,1);
newnode(&head,2);
newnode(&head,3);
newnode(&head,4);
newnode(&head,3);
newnode(&head,6);
newnode(&head,3);
printnode(head);
countnode(head,3);
return 0;
}
I2luY2x1ZGU8c3RkaW8uaD4KI2luY2x1ZGU8c3RkbGliLmg+CgpzdHJ1Y3Qgbm9kZXsKICAgIGludCBkYXRhOwogICAgc3RydWN0IG5vZGUgKiBuZXh0OwogICAgfTsKCnZvaWQgbmV3bm9kZShzdHJ1Y3Qgbm9kZSAqKiBoZWFkciAsIGludCBpdGVtKQp7CiAgICBzdHJ1Y3Qgbm9kZSAqIG5ld24gPSAoc3RydWN0IG5vZGUgKiltYWxsb2Moc2l6ZW9mKHN0cnVjdCBub2RlKSk7CiAgICBuZXduLT5kYXRhID0gaXRlbTsKICAgIG5ld24tPm5leHQgPSAqaGVhZHI7CiAgICAqaGVhZHIgPSBuZXduOwp9Cgp2b2lkIHByaW50bm9kZShzdHJ1Y3Qgbm9kZSAqIGhlYWQpCnsKICAgIHN0cnVjdCBub2RlICogdCA9IGhlYWQ7CiAgICB3aGlsZSh0ICE9IE5VTEwpCiAgICB7CiAgICAgICAgcHJpbnRmKCIlZC0+IiAsIHQtPmRhdGEpOwogICAgICAgIHQgPSB0LT5uZXh0OwogICAgfQogICAgcHJpbnRmKCJOVUxMXG4iKTsKfQoKdm9pZCBjb3VudG5vZGUoc3RydWN0IG5vZGUgKiBoZWFkICwgaW50IGl0ZW0pCnsKICAgIHN0cnVjdCBub2RlICogdCA9IGhlYWQ7CiAgICBpbnQgYyA9IDA7CiAgICB3aGlsZSh0ICE9IE5VTEwpCiAgICB7CiAgICAgICAgaWYodC0+ZGF0YSA9PSBpdGVtKQogICAgICAgICAgICBjKz0xOwogICAgICAgIHQgPSB0LT5uZXh0OwogICAgfQogICAgcHJpbnRmKCIlZCBvY2N1cnMgJWQgdGltZXNcbiIgLGl0ZW0sYyk7Cn0KCmludCBtYWluKCkKewogICAgc3RydWN0IG5vZGUgKiBoZWFkID1OVUxMOwogICAgbmV3bm9kZSgmaGVhZCwxKTsKICAgIG5ld25vZGUoJmhlYWQsMik7CiAgICBuZXdub2RlKCZoZWFkLDMpOwogICAgbmV3bm9kZSgmaGVhZCw0KTsKICAgIG5ld25vZGUoJmhlYWQsMyk7CiAgICBuZXdub2RlKCZoZWFkLDYpOwogICAgbmV3bm9kZSgmaGVhZCwzKTsKICAgIHByaW50bm9kZShoZWFkKTsKICAgIGNvdW50bm9kZShoZWFkLDMpOwogICAgcmV0dXJuIDA7Cn0KCg==