Cluster Pool
(backing array, unordered)
A
pool[0]
B
pool[1]
C
pool[2]
D
pool[3]
E
pool[4]
F
pool[5]
Linked List
(ordered by category via prev/next pointers)
Category 0
Category 1
Category 2
Cluster D
47 / 128
Cluster B
128 / 128
Cluster E
93 / 128
Cluster F
128 / 128
Cluster A
128 / 128
Cluster C
61 / 128
head
tail
head
tail
head + tail
Category Heads / Tails
(per-category references to chain endpoints)
heads[0]
tails[0]
heads[1]
tails[1]
heads + tails[2]
Partial clusters at head (available for insert) - full clusters at tail
Pool order and linked list order are independent