counting sort: a linear time complexity sort algorithm