Technology Fundamentals

Stack

Definition

In computer science, a stack is an abstract data type that serves as a collection of elements, with two main principal operations: Push, which adds an element to the collection, and Pop, which removes the most recently added element that was not yet removed. This is known as a Last-In, First-Out (LIFO) data structure.

Why It Matters

The stack is a fundamental data structure used in many programming scenarios, such as managing function calls (the "call stack"), parsing expressions, and implementing undo/redo functionality.

Contextual Example

The "undo" feature in a text editor works like a stack. Each action you take is "pushed" onto a stack. When you hit undo, the most recent action is "popped" off the stack and reversed.

Common Misunderstandings

  • The "call stack" is a specific use of a stack that keeps track of the active functions in a program. When a function is called, it's pushed onto the stack; when it returns, it's popped off.
  • A "stack overflow" error occurs when the call stack exceeds its available memory, often due to a function that calls itself infinitely (infinite recursion).

Related Terms

Last Updated: December 19, 2025