w3resource

JavaScript Exercises: Insert a new node at any position of a Singly Linked List

JavaScript Singly Linked List: Exercise-4 with Solution

Write a JavaScript program to insert a new node at any position of a Singly Linked List.

Sample Solution:

JavaScript Code:

class Node {
    constructor(data) {
        this.data = data
        this.next = null                
    }
}

class SinglyLinkedList {
    constructor(Head = null) {
        this.Head = Head
    }
add(newNode){
    let node = this.Head;
    if(node==null){
        this.Head = newNode;
        return;
    }
    while (node.next) {
        node = node.next;
    }
    node.next = newNode;
}
 
insertAt(index, newNode){
    let node = this.Head;
    if(index==0) {
        newNode.next = node;
        this.head = newNode;
        return;
    }
    while(--index){
        if(node.next!==null)
            node = node.next;
        else
            throw Error("Index Out of Bound");
    }
    let tempVal = node.next;
    node.next = newNode;
    newNode.next = tempVal;
}

 displayList(){
    let node = this.Head;
    var str = ""
    while (node) {
        str += node.data + "->";
        node = node.next;
    }
    str += "NULL"
    console.log(str);  
  }
}
let numList = new SinglyLinkedList();
numList.add(new Node(12));
numList.add(new Node(13));
numList.add(new Node(14));
numList.add(new Node(15));
numList.displayList();
console.log("Insert 4 at index position 1:")
numList.insertAt(1, new Node(4));
numList.displayList();
console.log("Insert 5 at index position 3:")
numList.insertAt(3, new Node(5));
numList.displayList();
console.log("Insert 6 at index position 6:")
numList.insertAt(6, new Node(6));
numList.displayList();


Sample Output:

12->13->14->15->NULL
Insert 4 at index position 1:
12->4->13->14->15->NULL
Insert 5 at index position 3:
12->4->13->5->14->15->NULL
Insert 6 at index position 6:
12->4->13->5->14->15->6->NULL

Flowchart:

Flowchart: JavaScript Exercises: Insert a new node at any position of a Singly Linked List.

Live Demo:

See the Pen javascript-singly-linked-list-exercise-4 by w3resource (@w3resource) on CodePen.


Improve this sample solution and post your code through Disqus

Singly Linked List Previous: Count number of nodes in a Singly Linked List.
Singly Linked List Next: Insert a new node at the beginning of a Singly Linked List.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.

JavaScript: Tips of the Day

Shorten an array using its length property

A great way of shortening an array is by redefining its length property.

let array = [0, 1, 2, 3, 4, 5, 6, 6, 8, 9]
array.length = 4
// Result: [0, 1, 2, 3]

Important to know though is that this is a destructive way of changing the array. This means you lose all the other values that used to be in the array.

Ref: https://bit.ly/2LBj213