mirror of
https://github.com/trekhleb/javascript-algorithms.git
synced 2025-12-19 08:59:05 +08:00
25 lines
997 B
Markdown
25 lines
997 B
Markdown
# Stack
|
|
|
|
In computer science, a stack is an abstract data type that serves
|
|
as a collection of elements, with two principal operations:
|
|
|
|
* **push**, which adds an element to the collection, and
|
|
* **pop**, which removes the most recently added element that was not yet removed.
|
|
|
|
The order in which elements come off a stack gives rise to its
|
|
alternative name, LIFO (last in, first out). Additionally, a
|
|
peek operation may give access to the top without modifying
|
|
the stack. The name "stack" for this type of structure comes
|
|
from the analogy to a set of physical items stacked on top of
|
|
each other, which makes it easy to take an item off the top
|
|
of the stack, while getting to an item deeper in the stack
|
|
may require taking off multiple other items first
|
|
|
|
Simple representation of a stack runtime with push and pop operations.
|
|
|
|

|
|
|
|
## References
|
|
|
|
[Wikipedia](https://en.wikipedia.org/wiki/Stack_(abstract_data_type))
|