A Linked List is a linear data structure where elements are stored in nodes, and each node points to the next node in the sequence. Unlike arrays, linked lists do not have a fixed size and can grow or shrink dynamically. This makes them efficient for insertions and deletions, but slower for direct access to an element.
function insertAtHead(value):
node = new Node(value)
node.next = head.next
head.next = node
function insertAtTail(value):
node = new Node(value)
cur = head
while cur.next is not null:
cur = cur.next
cur.next = node
function insertAt(index, value):
if index == 0:
insertAtHead(value)
return
cur = head
for i = 1 to index:
if cur.next is null: break
cur = cur.next
node = new Node(value)
node.next = cur.next
cur.next = node
function deleteAt(index):
cur = head
prev = null
for i = 0 to index:
prev = cur
cur = cur.next
prev.next = cur.next
Hand-picked resources to deepen your understanding
© 2025 SEE Algorithms. Code licensed under MIT, content under CC BY-NC 4.0.