Explain why the array implementation of a stack does not require elements to be shifted but the (non-circular) array implementation of a queue does.
1
Expert's answer
2016-08-08T09:33:02-0400
In case with stack adding following elements: 1, 2, 3, 4, 5. Then deleting two elements from stack will have the following result: 1, 2, 3, NoneType, NoneType. And memory will be cleaned automatically by deleting two last slots.
In case with queue adding following elements: 1, 2, 3, 4, 5. Then deleting two elements from queue will have the following result: NoneType, NoneType, 3, 4, 5. Which means that memory can’t be cleaned automatically, and to do so you have to shift elements.
Comments