April 2018
Beginner to intermediate
426 pages
10h 19m
English
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 ...