DEV Community

Lautaro Suarez
Lautaro Suarez

Posted on

3

Linked List

Hey, let´s talk about linked Lists and what are the differences between an array and a linked list.

Linked List
A linked list is structured by objects, each object have a head and a next value.

Image description

*A linked List in javascript will look like this
*

const list = {
    head: {
        value: 1
        next: {
            value: 20                                             
            next: {
                value: 22
                next: {
                    value: 21
                    next: null  
                    }
                }
            }
        }
    }
};

Enter fullscreen mode Exit fullscreen mode

Some disadvantage that linked list have are the following.

  • It is slower because random access like in an array is not allowed.

  • It uses more memory because of the storage of the pointer

Creating a javascript class as a ListNode

class ListNode{
  constructor(data){
    this.data = data
    this.next = null
   }
}
Enter fullscreen mode Exit fullscreen mode

Crating a javascript class as a Linked List

class LinkedList{
  constructor(head = null){
   this.head = head
   }
}
Enter fullscreen mode Exit fullscreen mode

*Now we will put all it together
*

We`ll create two list nodes and then a pointer from node 1 to node 2


let node1 = new ListNode(2)
let node2 = new ListNode(5)
node1.next = node2

If we break down the code we will see that on the the first line we are defining node1 equal to a new listNode(2) where 2 is the value we are assigning to node1, then we do the same on the second line.
On the third line however we are defining the value of the node1 pointer where we are telling to it to be equal to node2.

Now we`ll create a linked list with the node1

let list = new LinkedList(node1)
Enter fullscreen mode Exit fullscreen mode

Here we are defining list to be a linked list and we are assigning it the node1 value.

Let`s try to access to it.


console.log(list.head.next.data)

It will return 5, but why?
Let`s see, when we access list.head.next we are telling it to go to the next node and the last data is to access the data when we are in a linkedList.

Thanks for reading it, i hope you found it somehow helpful.

Lautaro.

Image of Timescale

Timescale – the developer's data platform for modern apps, built on PostgreSQL

Timescale Cloud is PostgreSQL optimized for speed, scale, and performance. Over 3 million IoT, AI, crypto, and dev tool apps are powered by Timescale. Try it free today! No credit card required.

Try free

Top comments (2)

Collapse
 
thomasbnt profile image
Thomas Bnt

Hello ! Don't hesitate to put colors on your codeblock like this example for have to have a better understanding of your code 😎

console.log('Hello world!');
Enter fullscreen mode Exit fullscreen mode

Example of how to add colors and syntax in codeblocks

Collapse
 
lausuarez02 profile image
Lautaro Suarez

Nice, thank you.
I did not know i can put colors on my codeblocks

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Explore a sea of insights with this enlightening post, highly esteemed within the nurturing DEV Community. Coders of all stripes are invited to participate and contribute to our shared knowledge.

Expressing gratitude with a simple "thank you" can make a big impact. Leave your thanks in the comments!

On DEV, exchanging ideas smooths our way and strengthens our community bonds. Found this useful? A quick note of thanks to the author can mean a lot.

Okay