Doubly Linked List is constructed of the following items
- Class Named DoublyLinkedList
- A constructor to create the DLL
- Data items/variables:
- head: to store the starting node
- tail: to store the ending node
Example:
Javascript
// Doubly Linked List class DoublyLinkedList { // Constructor to create a new linked list constructor() { // To contain the first item of the list this .head = null ; // To contain the last item of the list this .tail = null ; } } |
Basic Operations in Doubly Linked Lists:
Method to Check if the List is Empty:
- Check if the head is null or not and return result
Javascript
// To check if the list is empty isEmpty() { if ( this .head == null ) return true ; return false ; } |
Method to Insert Element:
- Create a new node with value as argument
- Check if the head is null insert at head
- Else insert the new node at the tail and shift tail pointer
Javascript
// Method to add item at the last of doubly linked list addItem(val) { // Create a temporary variable let temp = new Node(val); // If the list is empty link assign // new node to both head and tail if ( this .head == null ) { this .head = temp; this .tail = temp; } // else add item to the tail and shift tail else { temp.prev = this .tail; this .tail.next = temp; this .tail = this .tail.next; } } |
To traverse and display the list:
- Check is the list is not null
- Use a current poiter to treaverse the list and display value using console.log()
Javascript
// To traverse and display the list display() { // Check if the List is empty if (! this .isEmpty()) { // traverse the list using new current pointer let curr = this .head; while (curr !== null ) { // Display element console.log(curr.data); // Shift the current pointer curr = curr.next; } } } |
Implementation of Doubly Linked List in JavaScript
This article will demonstrate the Implementation of Doubly Linked List In JavaScript.
A doubly linked list (DLL) is a special type of linked list in which each node contains a pointer to the previous node as well as the next node of the linked list.