Insert a Node after a given Node in Linked Checklist

[ad_1]

View Dialogue

Enhance Article

Save Article

Like Article

View Dialogue

Enhance Article

Save Article

Like Article

Like arrays, Linked Checklist is a linear information construction. In contrast to arrays, linked record parts are usually not saved at a contiguous location; the weather are linked utilizing pointers. They embrace a collection of linked nodes. Right here, every node shops the info and the handle of the following node.

To study extra about linked record seek advice from the article “Introduction to Linked LIst“.

Given a linked record, the duty is to insert a brand new node after a given node of the linked record.

Insert new node after a given node in linked list

Insert new node after a given node in linked record

Instance:

Checklist = 1->2->4->5, Insert a node with worth 3 after the node with worth 2.
Output record shall be: 1->2->3->4->5

Think about the next representations of the linked record.

C++

class Node {

public:

    int information;

    Node* subsequent;

};

C

struct Node {

    int information;

    struct Node* subsequent;

};

Java

class LinkedList {

    Node head;

  

    

    class Node {

        int information;

        Node subsequent;

  

        

        Node(int d)

        {

            information = d;

            subsequent = null;

        }

    }

}

Python3

class Node:

  

    

    def __init__(self, information):

        self.information = information 

        self.subsequent = None 

  

  

  

class LinkedList:

  

    

    def __init__(self):

        self.head = None

C#

public class Node {

    public int information;

    public Node subsequent;

    public Node(int d)

    {

        information = d;

        subsequent = null;

    }

}

Javascript

<script>

    var head;

  

    

    class Node {

  

        

        constructor(d) {

            this.information = d;

            this.subsequent = null;

        }

    }

</script>

Method: Observe the beneath steps for inserting a node after a given node:

  • Firstly, test if the given earlier node is NULL or not.
  • Then, allocate a brand new node (say temp) and
  • Assign the info to temp.
  • After which make the following of temp as the following of the earlier node. 
  • Lastly, transfer the following of the earlier node to level to temp.

Observe the beneath picture for a greater understanding.

How to insert a new node after given node in linked list

Easy methods to insert a brand new node after given node in linked record

Beneath is the implementation of the strategy.

C++

void insertAfter(Node* prev_node, int new_data)

{

    

    if (prev_node == NULL) {

        cout << "The given earlier node can't be NULL";

        return;

    }

  

    

    Node* new_node = new Node();

  

    

    new_node->information = new_data;

  

    

    

    new_node->subsequent = prev_node->subsequent;

  

    

    

    prev_node->subsequent = new_node;

}

C

void insertAfter(struct Node* prev_node, int new_data)

{

    

    if (prev_node == NULL) {

        printf("the given earlier node can't be NULL");

        return;

    }

  

    

    struct Node* new_node

        = (struct Node*)malloc(sizeof(struct Node));

  

    

    new_node->information = new_data;

  

    

    new_node->subsequent = prev_node->subsequent;

  

    

    prev_node->subsequent = new_node;

}

Java

public void insertAfter(Node prev_node, int new_data)

{

    

    if (prev_node == null) {

        System.out.println(

            "The given earlier node can't be null");

        return;

    }

  

    

    

    Node new_node = new Node(new_data);

  

    

    new_node.subsequent = prev_node.subsequent;

  

    

    prev_node.subsequent = new_node;

}

Python3

def insertAfter(self, prev_node, new_data):

  

    

    if prev_node is None:

        print("The given earlier node should inLinkedList.")

        return

  

    

    

    new_node = Node(new_data)

  

    

    new_node.subsequent = prev_node.subsequent

  

    

    prev_node.subsequent = new_node

C#

public void insertAfter(Node prev_node, int new_data)

{

    

    if (prev_node == null) {

        Console.WriteLine("The given earlier node"

                          + " can't be null");

        return;

    }

  

    

            

    Node new_node = new Node(new_data);

  

    

                

    new_node.subsequent = prev_node.subsequent;

  

    

                    

    prev_node.subsequent = new_node;

}

Javascript

<script>

  

perform insertAfter(prev_node, new_data) 

  

    

    if (prev_node == null

    

        doc.write("The given earlier node can't be null"); 

        return

    

  

    

    

    var new_node = new Node(new_data); 

  

    

    new_node.subsequent = prev_node.subsequent; 

  

    

    prev_node.subsequent = new_node; 

}

  

  

</script>

Time Complexity: O(1)
Auxiliary House: O(1)

[ad_2]

Leave a Reply

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