counting and radix sort - have to know what is the sorted data
and make some assumptions for it. Used for positive integers data structures.
stable sort algorithm - preserve relative order of
equal elements in the given data structure.
unstable sort algorithm - does not guarantee relative order
of equal elements will be preserved after sorting