### Linked List
A linked list is a linear data structure, in which the elements are not stored at contiguous memory locations. The elements in a linked list are linked using pointers . This elements can be accessed by pointer traversing.
insert in linked list:
Linked list class which has a datatype and a pointer which has constructor so that it can be called :
code:
#include<bits/stdc++.h>
using namespace std;
class Node{
    public:
    int data;
    Node* next;
    
    Node(int data)
    {
        this->data=data;
        this->next=NULL;
    }
};
Node* takeinput()
{
    int data;
    cin>>data;
    Node* head = NULL;
    Node*tail = NULL;
    while(data!=-1)
    {
        Node* newnode=new Node(data);
        if(head==NULL)
        {
            head=newnode;
            tail=newnode;
        }
        else{
            tail->next=newnode;
            tail=tail->next;
        }
        cin>>data;
    }
    return head;
}
Node* insert(Node* head)
{
    int n;
    cin>>n;
    int data=4;
    Node* temp=head;
    Node* temp1;
    while(n>1)
    {
        temp=temp->next;
        n--;
    }
    temp1=temp->next;
    Node* newnode=new Node(data);
    temp->next=newnode;
    newnode->next=temp1;
    
    
    return head;
}
void print(Node* head)
{
    while(head!=NULL){
        cout<<head->data;
        head=head->next;
    }
    cout<<endl;
}
int main()
{
    Node*head=takeinput();
    print(head);
    Node* a=insert(head);
    print(a);
}
Take input in linked list:
The take input function in a linked list runs in O(N) time complexity where N is the number of elements in the linked list. code
Node* takeinput()
{
    int data;
    cin>>data;
    Node* head = NULL;
    Node*tail = NULL;
    while(data!=-1)
    {
        Node* newnode=new Node(data);
        if(head==NULL)
        {
            head=newnode;
            tail=newnode;
        }
        else{
            tail->next=newnode;
            tail=tail->next;
        }
        cin>>data;
    }
    return head;
}