Untitled

 avatar
unknown
plain_text
2 months ago
3.0 kB
10
Indexable
#include<stdio.h>
#include<stdlib.h>
struct node{
int data1,data2;
char h;
struct node *next;
};
struct node *head;
void creat_node()
{
    struct node *fnode,*temp;
    fnode=(struct node*)malloc(sizeof(struct node));
    printf("enter first value of fnode:\n");
    scanf("%d %d %c",&fnode->data1,&fnode->data2,&fnode->h);
    head=fnode;
    temp=head;
    int num;
    scanf("%d",&num);
    for(int i=1;i<num;i++)
    {
        struct node *newnode;
        newnode=(struct node*)malloc(sizeof(struct node));
        scanf("%d %d %c",&newnode->data1,newnode->data2,newnode->h);
        newnode->next=NULL;
        temp->next=newnode;
        temp=temp->next;

    }


}
void insert()
    {
        struct node *newnode;
        newnode=(struct node*)malloc(sizeof(struct node));
                scanf("%d %d %c",&newnode->data1,newnode->data2,newnode->h);
        newnode->next=head;
        head=newnode;

    }
    void tail()
    {
        struct node *newnode,*temp;
        temp=head;
        newnode=(struct node*)malloc(sizeof(struct node));
                scanf("%d %d %c",&newnode->data1,newnode->data2,newnode->h);
        newnode->next=NULL;
        while( newnode->next!=NULL)
        {
            temp=temp->next;
        }
        temp->next=newnode;
    }
    void mid()
    {
        struct node *newnode,*temp;
        temp=head;
        int n;
        scanf("%d",&n);
        newnode=(struct node*)malloc(sizeof(struct node));

        scanf("%d %d %c",&newnode->data1,newnode->data2,newnode->h);

        for( int i=1;i<n-1;i++)
        {

            temp=temp->next;
        }
        newnode->next=temp->next;
            temp->next=newnode;

    }
    void display()
    {
        struct node *temp;
        temp=head;
        while(temp!=NULL)
        {
            printf("%d %d %c\n",temp->data1,temp->data2,temp->h);
            temp=temp->next;
        }
    }
    void count_node()
    {
        int count = 0;
        struct node* temp = head;
        while(temp != NULL)
        {
            count++;
            temp = temp->next;
        }
        printf("This linked list consist of total %d node\n",count);
    }
    void same_value_node_count()
    {
        int count = 0;
        printf("Enter a value to count node\n");
        int value;
        scanf("%d",&value);
        struct node* temp = head;
        while(temp != NULL)
        {
            if(temp->data1 == value)count++;
            temp = temp->next;
        }
        printf("This list have %d node of value %d",count,value);
    }
int main()
{
     creat_node();
     display();
     printf("\n");
      insert();
       display();
       printf("\n");
       tail();
       display();
                   printf("\n");
        mid();
     display();
     printf("\n");
     count_node();
     printf("\n");
     same_value_node_count();

}
Editor is loading...
Leave a Comment