Video
A stack is a last-in-first-out data structure. You can "push" an element onto the stack, which means it becomes the top element, and you can "pop" an element off of the stack, which means you obtain the data in the variable on top of the stack and remove it from the stack. These are similar to adding and deleting elements from a list.

Stacks have a very appropriate name. Imagine you are cleaning dishes and you put the clean ones into a stack of dishes. As you clean, you put the clean dishes on the top of the stack (pushing them to the stack), and as you eat, you remove dishes from the top of the stack (popping them from the stack).
