Inserting a new element at any position

Inserting a new element in a doubly linked list is very similar to a linked list. The difference is that in the linked list, we only control one pointer (next), and in the doubly linked list we have to control both the next and prev (previous) properties. For the DoublyLinkedList class, we will overwrite the insert method, meaning we will apply a different behavior than the one from the LinkedList class.

Here, we have the algorithm to insert a new element at any position:

insert(element, index) {  if (index >= 0 && index <= this.count) {    const node = new DoublyNode(element);    let current = this.head;    if (index === 0) {      if (this.head == null) { // {1} NEW        this.head = node;        this.tail = node;      } else { node.next ...

Get Learning JavaScript Data Structures and Algorithms - Third Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.