Mental Model
Counting sort counts how many times each number appears, then uses these counts to place numbers in order without comparing them.
Analogy: Imagine sorting colored balls by counting how many balls of each color you have, then lining them up color by color based on those counts.
Unsorted array: [4] -> [2] -> [2] -> [8] -> [3] -> [3] -> [1] -> null Count array (index = number, value = count): Index: 0 1 2 3 4 5 6 7 8 Count: 0 1 2 2 1 0 0 0 1 Sorted array: [1] -> [2] -> [2] -> [3] -> [3] -> [4] -> [8] -> null
