Doubly linked lists
There are different types of linked list. In this section, we are going to cover the doubly linked list. The difference between a doubly linked list and a normal linked list is that in a linked list we make the link from one node to the next one only, while in a doubly linked list, we have a double link: one for the next element and one for the previous element, as shown in the following diagram:
Let's get started with the changes that are needed to implement the DoublyLinkedList
class:
class DoublyNode extends Node { // {1} constructor(element, next, prev) { super(element, next); // {2} this.prev = prev; // {3} NEW } } class DoublyLinkedList extends LinkedList { // {4} constructor(equalsFn = defaultEquals) { super(equalsFn); // {5} this.tail = undefined; // {6} NEW } }
As the DoublyLinkedList
class is a special type of LinkedList
, we will extend the LinkedList
class ({4}
). This means the DoublyLinkedList
class will inherit (will have access to...