clrs; problem 8.2 - sorting in place in linear time