Radix Sort
Suppose N, the bound on the range of possible key values, is large. For example, N = 10,000,000?
We can use each digit of a key as a separate subkey.
Consider a key such as 3,870,215 to be a list of 7 separate subkeys: ?3,8,7,0,2,1,5?
Sort all the records using the last (least signficant ) subkey. Then, using that partially sorted output as input to another sorting step, sort by the second-to-last subkey. Keep doing this until the most significant subkey has been used.