Size of array c
How big can array c get? Let b[h..k] have n values, and let b be already sorted. At each step, b[f..j-1] would be empty and b[j+1..k]would have all but one of the elements. After 3 loop iterations, we would have
c[0] represents a segment of 0 elements
c[1] represents a segment of 0 elements
c[2] represents a segment of 0 elements
c[3] represents a segment of n-3 elements
In worst case array c needs almost n array elements!