What Is Single Linked List Data Structure?


Larry Thompson

A single linked list is a type of data structure commonly used in computer science and programming. It is a collection of nodes where each node contains two parts: the data and a reference (or link) to the next node in the list. This link allows for easy traversal from one node to another.

Structure of a Single Linked List

A single linked list consists of multiple nodes connected in a linear fashion. Each node contains two parts:

  • Data: This part stores the actual information or data that needs to be stored in the list.
  • Next: This part holds the reference to the next node in the list. It points to the memory location where the next node is stored.

Advantages of Using Single Linked Lists

Single linked lists offer several advantages over other data structures, including:

  • Dynamic Size: Single linked lists can grow or shrink dynamically based on the number of elements added or removed, making them efficient for handling variable amounts of data.
  • Efficient Insertion and Deletion: Inserting or deleting an element at any position within the list is relatively fast as it involves updating only a few references, unlike arrays where shifting elements can be time-consuming.
  • No Memory Wastage: Single linked lists use memory efficiently since they don’t require contiguous blocks of memory. They can utilize any available memory location, reducing memory wastage.

Operations on Single Linked Lists

The following are common operations performed on single linked lists:

Addition (Insertion)

Adding a new node to a single linked list involves modifying the references of existing nodes. There are several ways to perform an insertion:

  • Inserting at the Beginning: In this case, the new node becomes the first node in the list, and its next reference points to the old first node.
  • Inserting at the End: Here, the new node is added at the end of the list by updating the next reference of the last node to point to it.
  • Inserting in the Middle: This involves finding the appropriate position within the list and updating references accordingly.


To delete a node from a single linked list, we update references in order to bypass that particular node. The deleted node is then freed from memory. Deletion can be done at various positions within the list:

  • Deleting from Beginning: The first node is removed by updating its reference with that of its next node.
  • Deleting from End: The last node is deleted by updating its previous node’s next reference to null.
  • Deleting from Middle: Similar to insertion, we locate and bypass the desired node by updating appropriate references.

Singly Linked List Example

To better understand how single linked lists work, let’s consider an example representing a linked list of integers:

Node 1: [Data: 10] -> Node 2: [Data: 5] -> Node 3: [Data: 8] -> Node 4: [Data: 3] -> null

In this example, the first node contains the value 10 and points to the second node. The second node contains the value 5 and points to the third, and so on. The last node has a value of 3 and points to null, indicating the end of the list.


A single linked list is a versatile data structure that allows for efficient insertion, deletion, and traversal of elements. Its dynamic size and memory efficiency make it suitable for various applications in computer science and programming.

Discord Server - Web Server - Private Server - DNS Server - Object-Oriented Programming - Scripting - Data Types - Data Structures

Privacy Policy