The performance of complex algorithms is often evaluated by simulating their behavior. Create a program that simulates a random sequence of heap allocations and deallocations. Use it to compare the average number of iterations that the best fit, first fit, and next fit heap allocation techniques require to find and allocate space for a heap object.