Note: Code implementation in C. Please provide it digitally, not on paper :) 1) Design a Stack structure. 2) Define push and pop functions for your Stack implementation. 3) Create a Memory structure...


Note: Code implementation in C. Please provide it digitally, not on paper :)<br>1) Design a Stack structure.<br>2) Define push and pop functions for your Stack implementation.<br>3) Create a Memory structure owns number of block, block size, and stack attributes. You<br>can add more attributes if it eases your implementations.<br>Stack attribute represents memory blocks. Number of block attribute represents the length of<br>the stack. Block size represents the maximum value that each element in the stack can get.<br>4) Write an allocate function that takes a size parameter. If the given size is bigger than block<br>size of the Memory, the allocation will be distributed to the different blocks in the stack<br>attribute.<br>For example, calling allocate(27) updates the stack as<br>allocate(27) = [10, 10, 7, 0, 0]<br>for a Memory with number of block = 5, block size = 10. The remaining<br>of the elements which don't have maximum value can be sealed until the<br>element is ushed. Therefore, the next allocation can start from next element position after 7<br>given above.<br>5) Write an deallocate function that ushes the last used block.<br>

Extracted text: Note: Code implementation in C. Please provide it digitally, not on paper :) 1) Design a Stack structure. 2) Define push and pop functions for your Stack implementation. 3) Create a Memory structure owns number of block, block size, and stack attributes. You can add more attributes if it eases your implementations. Stack attribute represents memory blocks. Number of block attribute represents the length of the stack. Block size represents the maximum value that each element in the stack can get. 4) Write an allocate function that takes a size parameter. If the given size is bigger than block size of the Memory, the allocation will be distributed to the different blocks in the stack attribute. For example, calling allocate(27) updates the stack as allocate(27) = [10, 10, 7, 0, 0] for a Memory with number of block = 5, block size = 10. The remaining of the elements which don't have maximum value can be sealed until the element is ushed. Therefore, the next allocation can start from next element position after 7 given above. 5) Write an deallocate function that ushes the last used block.

Jun 07, 2022
SOLUTION.PDF

Get Answer To This Question

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here