Ad Code

Responsive Advertisement

Linked List Full conpect



Like arrays, Linked List is a linear data structure. Unlike arrays, linked list elements are not stored at a contiguous location; the elements are linked using pointers.


step 1. building a node

struct node{

    int data;

    node* next;

    node(int val){

        data = val;

        next = NULL;

    }

};


step 2. Insert element in tail

void insertEl(node* &head, int val){

    node * newNode = new node(val);

    if (head == NULL)

    {

        head = newNode;

        return;

    }


    node* temp = head;

    while (temp->next != NULL)

    {

        temp = temp->next;

    }

    temp->next = newNode;   

    

}


Step 3 Dislplay all data

void display(node* head){

    node * temp = head;

    while(temp != NULL){

        cout<<temp->data<<"->";

        temp = temp->next;

    }

    cout<<"NULL"<<endl;

}

Step 4. Delete a node

void deleteKey(node * &head, int key){

    node * temp = head;

    node * prev =NULL, * next = NULL;

    if(temp != NULL && temp->data == key){

        head = temp->next;

        free(temp);

        return;

    }

    while(temp != NULL && temp->data != key){

        next = temp->next;

        prev = temp;

        temp = next;

    }

    if(temp == NULL){

        cout<<"Key not found"<<endl;

        return;

    }

    next = temp->next;

    prev->next = next;

    free(temp);

}


Now main function


int main(){
    node * head = NULL;
    int n;
    scanf("%d", &n);
    while(n--){
        int val;
        scanf("%d", &val);
        insertEl(head, val);
    }cout<<endl;
    cout<<"Orginal LinkedList"<<endl;
    display(head);
    cout<<"key delete"<<endl;
    deleteKey(head, 5);
    display(head);
}

Post a Comment

0 Comments

Close Menu