Mental Model
We divide an array into three parts by moving elements less than, equal to, and greater than a pivot value into separate sections in one pass.
Analogy: Imagine sorting colored balls into three bins: red, white, and blue. You pick each ball once and put it in the correct bin without mixing them up again.
Array: [2, 0, 2, 1, 1, 0] Partitions: < pivot | = pivot | > pivot Indexes: low ↑ mid ↑ high ↓
