You are to provide pseudo-code algorithm to sort arrays of integer whose values range between 0 and n-1 where n is the size of the array. This constraint is an important pre-condition for the algorithm. Here are a couple of sample arrays:
n = 8: {7, 4, 0, 2, 7, 6, 5, 1}
n = 12: {9, 2, 4, 10, 7, 9, 11, 6, 4, 8, 11, 3}
Your pseudo-code algorithm should be documented with assertions and comments. Your algorithm must run in O(n) time.