Commonly used components in Linked List โœ”๏ธ

ยท

3 min read

Here's a basic example of a linked list in JavaScript, with explanations at each step:

kotlinCopy code// Define the Node class to represent each node in the linked list
class Node {
  constructor(value) {
    this.value = value;
    this.next = null;
  }
}

// Define the LinkedList class to represent the entire linked list
class LinkedList {
  constructor() {
    this.head = null;
    this.tail = null;
    this.length = 0;
  }

  // Method to add a new node to the end of the linked list
  append(value) {
    const newNode = new Node(value);

    if (!this.head) {
      // If the list is empty, set the new node as both head and tail
      this.head = newNode;
      this.tail = newNode;
    } else {
      // Otherwise, set the new node as the new tail and update the old tail's "next" pointer
      this.tail.next = newNode;
      this.tail = newNode;
    }

    this.length++;
  }

  // Method to print the values of each node in the linked list
  print() {
    const values = [];
    let currentNode = this.head;

    while (currentNode) {
      values.push(currentNode.value);
      currentNode = currentNode.next;
    }

    console.log(values);
  }
}

// Create a new linked list and add some nodes to it
const myList = new LinkedList();
myList.append(1);
myList.append(2);
myList.append(3);

// Print the values of each node in the linked list
myList.print(); // [1, 2, 3]

In this example, we define a Node class to represent each node in the linked list. Each Node object has a value property to store the value of the node, and a next property to store a reference to the next node in the list.

We also define a LinkedList class to represent the entire linked list. Each LinkedList object has a head property to store a reference to the first node in the list, a tail property to store a reference to the last node in the list, and a length property to keep track of the number of nodes in the list.

The LinkedList class has two methods: append to add a new node to the end of the list, and print to print the values of each node in the list.

To create a new linked list and add some nodes to it, we create a new LinkedList object called myList and call the append method to add some nodes with values 1, 2, and 3. Finally, we call the print method to print the values of each node in the list.

In a linked list, some of the most commonly used components include:

  1. Node class: A class that defines the nodes in the linked list. Each node typically has two properties: a value to store the data, and a "next" pointer to point to the next node in the list.

  2. LinkedList class: A class that defines the linked list itself. It typically has a "head" pointer to the first node in the list, and may also have a "tail" pointer to the last node. It may also include methods for adding, removing, or accessing nodes in the list.

  3. Constructor functions: These are functions that are used to create new instances of the Node or LinkedList classes. They typically take one or more arguments to set the initial values of the object's properties.

  4. Methods: These are functions that are defined on the Node or LinkedList classes and are used to perform operations on the linked list, such as adding or removing nodes, or searching for a particular value.

  5. Pointers: In a linked list, each node typically has a "next" pointer that points to the next node in the list. These pointers are used to link the nodes together and create the linked list structure.

These are some of the most commonly used components in a linked list. However, the exact implementation of a linked list can vary depending on the specific needs of the program or application using it.

Did you find this article valuable?

Support TopGun by becoming a sponsor. Any amount is appreciated!

ย