Representation of a Stack as an Array.

Stack as array

Stack representation as Array:

A Stack is a linear data structure that follows the principle of (Last-In-First-Out) LIFO . In Stack  there is one end through which insertion and deletion takes place.  Whenever an element is added in the stack, it is added on the top of the stack, and the element can be deleted only from the stack.

On this page we will discuss about representation of a stack as an array in Java.

Representation of a Stack as an Array in Java:

An array is used to store an ordered list of elements. Using an array for representation of stack is one of the easy techniques to manage the data. But there is a major difference between an array and a stack.

  • Size of an array is fixed.
  • While, in a stack, there is no fixed size since the size of stack changed with the number of elements inserted or deleted to and from it.

Following are common operations implemented on the stack:

  • push():When we insert an element in a stack then the operation is known as a push. If the stack is full then the condition is called overflow condition.
  • pop(): When we want to delete an element from the stack, the operation is known as a pop. If the stack is empty means there is no element in the stack, this condition is known as an underflow state.
  • isEmpty():When we want to determines whether the stack is empty or not.
  • isFull(): when we want to determines whether the stack is full or not.’
  • peek(): It returns the element at the given position.

Implementation of stack :

Algorithm:

  • Push operation : 

    Push operation consists  following two steps.

    • Increment Top so that it can now refer to the next memory location.
    • Add element at position of incremented top variable . This position is where new element is added.
boolean push (int x)
  {
    if (top >= (MAX - 1))
      {
	System.out.println ("Overflow condition reached");
	return false;
      }
    else
      {
	a[++top] = x;
	System.out.println (x + " pushed into stack");
	return true;
      }
  }
  • Pop Operation: 

Pop operation is used to delete element from top if the stack see code below  

int pop()
    {
        if (top < 0) {
            System.out.println(“Underflow condition reached”);
            return 0;
        }
        else {
            int x = a[top–];
            return x;
        }
    }
  • peek operation:

Peek operation used to return the element which is present at the top of the stack but it does not delete it . Underflow condition occur when we try to return the top element in empty stack.

int peek()
    {
        if (top < 0) {
            System.out.println(“Underflow condition”);
            return 0;
        }
        else {
            int x = a[top];
            return x;
        }
    }

Java code to implement stack using array:

Run
/* Java program to implement stack
operations using array*/
class Stack
{
  static int MAX = 100;
  int top;
  int a[] = new int[MAX];	// Maximum size of Stack


  boolean isEmpty ()
  {
    return (top < 0);
  }
  Stack ()
  {
    top = -1;
  }

  boolean push (int x)
  {
    if (top >= (MAX - 1))
      {
	System.out.println ("Overflow condition reached");
	return false;
      }
    else
      {
	a[++top] = x;
	System.out.println (x + " pushed into stack");
	return true;
      }
  }


  int pop ()
  {
    if (top < 0)
      {
	System.out.println ("Underflow condition reached");
	return 0;
      }
    else
      {
	int x = a[top--];
	return x;
      }
  }


  int peek ()
  {
    if (top < 0)
      {
	System.out.println ("Underflow condition");
	return 0;
      }
    else
      {
	int x = a[top];
	return x;
      }
  }
}

class Main
{
  public static void main (String args[])
  {
    Stack stk = new Stack ();
      stk.push (20);
      stk.push (40);
      stk.push (60);
      System.out.println ("element poped out : " + stk.pop ());
  }
}
Output :
20 pushed into stack
40 pushed into stack
60 pushed into stack
element poped out : 60

Prime Course Trailer

Related Banners

Get PrepInsta Prime & get Access to all 200+ courses offered by PrepInsta in One Subscription

Get over 200+ course One Subscription

Courses like AI/ML, Cloud Computing, Ethical Hacking, C, C++, Java, Python, DSA (All Languages), Competitive Coding (All Languages), TCS, Infosys, Wipro, Amazon, DBMS, SQL and others

Checkout list of all the video courses in PrepInsta Prime Subscription

Checkout list of all the video courses in PrepInsta Prime Subscription

Circular Linked List

  • Introduction to Circular Linked List
    Click Here
  • Circular Linked List Applications
    Click Here
  • Circular Linked List in –
    C | C++ | Java
  • Insertion in Circular Linked List –
    C | C++ | Java
  • Insertion at the beginning–
    C | C++ | Java
  • Insertion at the end –
    C | C++ | Java
  • Insertion at nth position –
    C | C++ | Java
  • Deletion in Circular Linked List –
    C | C++ | Java
  • Deletion from beginning in Circular Linked List –
    C | C++ | Java
  • Deletion from nth position in Circular Linked List –
  • Deletion from end in Circular Linked List –
    C | C++ | Java
  • Insertion and Deletion in Circular Linked List – C | C++ | Java
  • Split a Circular Linked List in two halves –
    C | C++ | Java
  • Count nodes in Circular Linked List –
    C | C++ | Java
  • Sorted Insert In Circular Linked List –
    C | C++ | Java
  • Insertion in the middle in Circular Linked List –
    C | C++ | Java

Circular Linked List