The road to becoming a great developer can get extremely bumpy at times. Stack Overflow is probably one of the most popular websites and tools in this day and age that almost every developer references at least once a day, if not more. The name comes from one of the most important and common data structures used in computer science, a stack. We will go over what a _stack overflow _actually is, but to start off…

What is a Stack?

Comparable to a linked list or an array, a stack is a linear data structure which can contain a group of elements. As an abstract data type with a bounded capacity, a stack is simply a data structure that allows for adding and removing elements in a specific order. When an element is added, it goes on top of the stack and the only element that can be removed is the element which was last added and whose position is at the very top of the stack.

Stack Push & Pop operations.

Stack Push & Pop operations taken from Programiz

An easy way to think of this is by visualizing plates stacked on top of one another. The plate at the top of the stack is the first one that would be removed, the plate which was placed at the bottommost position will remain in the stack for the longest period of time. This behaviour is referred to as LIFO or Last In, First Out.

Common Operations

Here are some of the most common operations performed on stack:

  • Push: Adds an item into the stack — if the stack is full, it will result in a Stack Overflow (not the website).
  • Pop: Removes an item from the stack — if the stack is empty, it will result in a Stack Underflow.
  • Peek or Top: Returns the top element of the stack.
  • isEmpty: Returns true if the stack is empty — if not, it will return false.

#javascript #programming #javascript-engine

Stacks— Purposes, Implementations & Applications
1.10 GEEK