Mental Model
We separate three groups in one pass by moving pointers that track where each color should go.
Analogy: Imagine sorting red, white, and blue balls into three boxes by moving balls to the correct box as you scan through them once.
Index: 0 1 2 3 4 5 6 Array: [2] [0] [2] [1] [1] [0] [0] Pointers: low -> points to next position for 0 mid -> current element being checked high -> points to next position for 2
