What is a stack?
A stack is a data structure like a list. However, a stack is LIFO - Last In First Out. This means you can only ever access items at the top of the stack, just like with a stack of plates, a stack of books or the Towers of Hanoi game pictured below. You should think of a stack as vertical. So you push items onto or pop items from the top of the stack.
Isaac Computing: Find out more here.
Isaac Computing: Find out more here.
Stack Operations
Considerations when pushing onto or popping off of a stack.
Push - what if the stack is full? Trying to pop off an empty stack resulting in stack under flow error.
Pop - what if the stack is empty? Trying to push onto a full stack results in a stack overflow error.
Pop - what if the stack is empty? Trying to push onto a full stack results in a stack overflow error.
Queues
A queue is like a stack, but just like a queue of customers at a shop, a queue is FIFO - First in First out. New items are added to the back of the queue.
Queue Operations
Enqueue - add an item to the queue.
Dequeue - take an item from the front of the queue. Peek - return an item from the front of the queue without actually removing it from the queue. IsEmpty ( ) - is it empty? IsFull( ) - is it full? Trying to enqueue onto a full queue results in an overflow error. Trying to dequeue from an empty queue results in an under flow error. |