What Is Stack and Its Operations in Data Structure?


Heather Bennett

What Is Stack and Its Operations in Data Structure?

A stack is a fundamental data structure in computer science that follows the Last-In-First-Out (LIFO) principle. It is an abstract data type that represents a collection of elements with two main operations: push and pop. The push operation adds an element to the top of the stack, while the pop operation removes and returns the topmost element.

Basic Operations on a Stack:

A stack typically supports various operations to manipulate its contents. Apart from push and pop, other common operations include:

  • Peek: This operation returns the value of the topmost element without removing it from the stack.
  • IsEmpty: It checks whether the stack is empty or not. Returns true if there are no elements in the stack; otherwise, it returns false.
  • Size: This operation returns the number of elements present in the stack at a given time.

The Implementation of Stack:

A stack can be implemented using various data structures, such as arrays or linked lists. Here, we will discuss the implementation using an array-based approach.

Array-Based Implementation:

To create a stack using arrays, we need to define an array variable to store elements and an index variable to keep track of the top element. Let’s see how this can be done in code:


<!DOCTYPE html>
  <title>Stack Implementation</title>

    class Stack {
      constructor() {
        this.stack = [];
        this.top = -1;
      push(element) {
        this.stack[++this.top] = element;
      pop() {
        if (this.isEmpty()) {
          return "Stack Underflow";
        return this.stack[this.top--];
      peek() {
        if (this.isEmpty()) {
          return "Stack is empty";
        return this.top];
      isEmpty() {
        return this.top === -1;
      size() {
        return this.top + 1;

    // Usage
    const stack = new Stack();
    console.log(stack.pop()); // Output: 30
    console.peek()); // Output: 20




A stack is a powerful data structure that allows efficient management of data in a Last-In-First-Out manner. It is widely used in many applications, such as expression evaluation, function call management, and browser history. Understanding stacks and their operations is crucial for any programmer to write efficient algorithms and solve complex problems.

Now that you have learned about stacks and their operations, you can confidently incorporate them into your future programming projects!

Discord Server - Web Server - Private Server - DNS Server - Object-Oriented Programming - Scripting - Data Types - Data Structures

Privacy Policy