Another common memory-allocation strategy is the best-fit scheme, in which the free list is scanned and the memory block that best fits the request is allocated.
This block is either the first block whose size is equal to the request or the block whose size least exceeds the request.
Rewrite and test the function in Problem 10 to use this best-fit scheme.