Arrays
Ordered indexable collection for O(1) access by position.
Nodes linked by pointers — insert and delete without shifting a contiguous block.
Walk a sorted linked list once and unlink every node that repeats the value before it.
Delete every node holding a given value, using a dummy node so the head is no special case.
Remove a node when you cannot reach the one before it, by copying the next value in and skipping the next node.
Read a list of 0s and 1s from head to tail, doubling the running total and adding each digit.
Pull two chains out of one list so odd-position nodes come first, then join them back together.
Add two numbers stored backwards as linked lists, one digit at a time, carrying into the next column.
Rotate a list right by k places by measuring it, closing it into a ring, and cutting it open again.
Deal nodes into a smaller-than-x chain and an x-or-above chain, then join them without losing their order.
Ordered indexable collection for O(1) access by position.
Last-in, first-out collection for undo, parsing, and nested work.
First-in, first-out collection for scheduling, BFS, and buffering.
Key-to-value lookup in average O(1) via hashing into buckets.
Hierarchical nodes with parent–child links for ordered and nested data.
Priority queue backed by a binary heap for fast min or max access.