Stack
A Stack is a linear data structure that keeps its elements stacked on each other. It uses LIFO (last-in-first-out) ordering in which the last pushed item to the stack is processed first.
Last updated
A Stack is a linear data structure that keeps its elements stacked on each other. It uses LIFO (last-in-first-out) ordering in which the last pushed item to the stack is processed first.
Last updated
A Stack is a linear data structure where elements are stacked on each other. It's like an array, but with a few restrictions:
You can't access items randomly by using their index.
You can only add an item to the end, and remove or retrieve the latest item.
The simplest way to think about stack structure is to imagine a deck of cards, or a stack of plates. You put a plate on top of another, and to access a plate in the middle you first need to get plates from the top.
A stack uses LIFO (last-in-first-out) ordering which means that the last pushed item to the stack is processed first (all previous items will need to wait until newer are processed).
Method
Description
push()
Add item to a stack.
pop()
Remove item from a stack.
peek()
Get the latest item in a stack.
Checking an opening/closing structure. For example, a task to detect balanced usage of opening and closing parentheses, brackets, and quotes. []()""([])
Undoing (backtracking from) an action.
Reversing data.
and more...
Operation
Complexity
Insertion
O(1)
Deletion
O(1)
*Access
O(n)
*To access some value you need first to pop an element from the top.