Hey, have you ever gone on a treasure hunt where each clue points you to the next one until you hit the jackpot? That’s pretty much how a linked list works in programming! It’s a straightforward but super useful way to store a bunch of items, and it’s something every coder needs to know. In this blog, I’m going to walk you through what linked lists are, how they tick, and why they’re such a big deal—all in a way that’s easy to grasp. So, let’s get started!
A linked list is a chain of nodes, where each node holds two things:
Think of it like a train: each carriage (node) carries passengers (data) and is connected to the next carriage. The first carriage is called the head, and the last one has no next carriage—it points to null, signalling the end of the train.
Here’s a simple linked list with values 5 -> 10 -> 15:
head -> [5 | next] -> [10 | next] -> [15 | null]
This is called a singly linked list because it only moves in one direction—forward.

Linked lists come in a few flavours: