An in-place MSD Radix sort that makes two passes per digit: the first counts elements per bucket to compute bucket boundaries, the second cyclically permutes elements into their correct buckets without any auxiliary array.
Achieves MSD radix sorting with O(1) extra space beyond the fixed-size counting table, the cyclic permutation replaces the auxiliary buffer that standard MSD Radix sort requires.