Cycle Sort
Cycle sort is the one obsessed with not writing to memory. Most sorts shuffle values around freely, but cycle sort works out exactly where a value belongs by counting how many items are smaller than it, then drops it there in one move. Whatever was sitting in that spot gets picked up, and now it has to find a home too, and so on around the cycle until everything lands. Each value gets written exactly once.
That makes it the sort you reach for when writing is genuinely expensive. The trade-off is that it’s slow to think. It never stops comparing, so it always does about n² comparisons whether the input is sorted or not. Reading is cheap, writing is precious, and cycle sort spends accordingly. Watch the Writes counter stay as low as it possibly can while the comparisons pile up.
Hit Play to watch it run, or use Next and Back to step one comparison at a time. Shuffle deals a fresh array, and the highlighted line shows you where the code is at each step.