What is a Stack?

This is the Make Me a Programmer glossary entry for a stack.

What is a Stack?  A Quick Definition

In programming, a stack is a data structure that follows the Last-In-First-Out (LIFO) principle.

It is a collection of elements where new items are added to the top, and only the topmost item can be removed or accessed. Stacks are commonly used in various algorithms and applications, such as function calls and managing program flow, due to their efficient insertion and removal operations.

Think of one of those things you used to keep in your car to pay tolls.  You’d push coins into them, and when you wanted to take a coin out, you would take out the last one you pushed onto the stack.

Stack, Explained Like You’re Five 

Imagine you have a stack of toy blocks, and you can only add or take blocks from the top. It’s like a tower where you can only put a new block on the very top, and when you want to take a block out, you can only remove the one from the top.

In programming, a stack is similar. It’s a special way of organizing information, and you can only work with the most recent piece of information you put in or took out, just like the blocks in your tower.

Stack, Explained for Non-Techies

In programming, a stack is a data structure that works like a stack of plates.

Imagine you have a stack of plates on a table. You can only add a new plate on top of the stack, and you can only remove the top plate. So, the last plate you put on the stack is the first one you take off. It’s the same with a programming stack.

It’s a way of organizing data where you can add new items on top and remove or use the most recent item you added. Stacks are handy for keeping track of things in a specific order, like tracking the steps of a recipe or managing the flow of tasks in a computer program.

Stack, Explained for Beginner Techies

In programming, a stack is a data structure that organizes elements in a Last-In-First-Out (LIFO) manner. It works similar to a stack of plates or books, where you can only add new items on top and remove or access the most recent item added.

In practical terms, it means you can push (add) elements onto the stack, and the last element you pushed is the first one you’ll pop (remove) from it. Stacks are commonly used to manage function calls, track program execution, and handle undo/redo operations in various software applications.

They offer a simple and efficient way to manage and process data in a specific order.

Further Reading