Algo – Linked List

Best Video Explained:

code:

some bugs  here but understood the implementation:

#include<bits/stdc++.h>
void display(void);
void addatbegin(void);
void addafter(void);
struct node
{
    int data;
    struct node *link;
};

struct node *root=NULL;
int len;

void append()
{

    struct node *temp;
    temp=(struct node*)malloc(sizeof(struct node));
    printf("Enter node data: ");
    scanf("%d", &temp->data);
    temp->link=NULL;
    if(root==NULL) //list is empty
    {
        root=temp;
    }
    else
    {
        struct node* p;
        p=root;
        while(p->link!=NULL)
        {
            p=p->link;
        }
        p->link=temp;
    }
}

int length()
{
    int cnt=0;
    struct node *temp;
    temp=root;
    while(temp!=NULL)
    {
        cnt++;
        temp=temp->link;
    }
    return cnt;
}
void display()
{
    struct node* temp;
    temp==root;
    if(temp==NULL)
    {
        printf("List is empty\n");

    }
    else
    {
        while(temp!=NULL)
        {
            printf("%d-->",temp->data);
            temp=temp->link;
        }
        printf("\n");
    }
}
//void delete();

int main()
{
    int ch;
    while(1)
    {
        printf("Single linked list op:");
        printf("1. Append\n");
        printf("2. Add at begin\n");
        printf("3. Add at after\n");
        printf("4. Lenght\n");
        printf("5. Display\n");
        printf("6. Delete\n");
        printf("7. Quit\n");
        printf("enter your chocie: ");
        scanf("%d",ch);
        switch(ch)
        {
        case 1:
            append();
            break;
        case 2:
            addatbegin();
            break;
        case 3:
            addafter();
            break;
        case 4:
            len=length();
            printf("Length=%d",len);
            break;
        case 5:
            display();
            break;
        case 7:
            exit(1);
        default:
            printf("invalid\n");

        }
    }
}

 

It would be a great help, if you support by sharing :)
Author: zakilive

Leave a Reply

Your email address will not be published. Required fields are marked *