×

Implementation of Stack Using Array

Before moving forward to implementation of stack using array, we must know more about stack.

A stack is defined as a linear data structure that follows LIFO (Last In First Out) method, that means the elements added at end of the stack will be removed first and the new order cannot be updated or changed.

A stack can be implemented in multiple ways.

Stack implementation using an array includes the following operation methods:

  • Push (): It adds the element at the top of the stack in O (n) time.
  • Pop (): It removes the top element from stack in O (n) time.
  • Peak (): It is used for accessing the top element of stack by returning it in O(n) time.

Push Operation: Adding an Element to the Stack

This operation adds an element at the top of the stack and is known as the push operation.

It works in the following steps:

  1. It increments the top variable (the pointer that points to the top of the stack) and then starts to point towards a new memory location.
  2. Then, it adds the element at the new top, the new memory location and this increases the size of the stack.

Algorithm:

start
if top == n;                                                                 ( implies the stack is full)
else
        t = t + 1;                                                                  (t=top)
stack (t)  = new__item;
stop

Time Complexity:

Push operation in stack occurs in O(1) time.

Pop Operation: Deleting an Element from the Stack

This operation fetches the value by removing it from the top of the stack and is known as the pop() operation.

In the stack data structure while implementation of pop () operation in the array, instead of removing the data from the stack, the pointer shifts to a lower position in the stack and points to the further value, and similarly the size decreases.

*The pop () function returns the removed value.

Algorithm:

start
if t == 0;                                                                            (that means the stack is empty)
else
top_item = stack(t);  
        t = t - 1;  
stop

Peek Operation: Accesses the Top Element of Stack

By peek operation, the value of the element which is present at the top of the stack is returned without making any changes to it. If we try to use peek over an empty stack, then the stack goes underflow.

Algorithm:

start
if t == -1;                                                          (that means stack is empty)
else
item = stack[t];   
return item;  
stop

Code of Stack using Array in C:

#include <stdio.h>
#include <stdlib.h>
#define SIZE 4
int top = -1, inp_array[SIZE];
void push();
void pop();
void peek();


int main()
{
int choice;


while (1)
    {
printf("\nPerform operations on the stack:");
printf("\n1.Push the element\n2.Pop the element\n3.peek\n4.End");
printf("\n\nEnter the choice: ");
scanf("%d", &choice);


switch (choice)
        {
case 1:
push();
break;
case 2:
pop();
break;
case 3:
peek();
break;
case 4:
exit(0);


default:
printf("\nInvalid choice!!");
        }
    }
}


void push()
{
int x;


if (top == SIZE - 1)
    {
printf("\nOverflow!!");
    }
else
    {
printf("\nEnter the element to be added onto the stack: ");
scanf("%d", &x);
top = top + 1;
inp_array[top] = x;
    }
}


void pop()
{
if (top == -1)
    {
printf("\nUnderflow!!");
    }
else
    {
printf("\nPopped element: %d", inp_array[top]);
top = top - 1;
    }
}


void peek()
{
if (top == -1)
    {
printf("\nUnderflow!!");
    }
else
    {
printf("\nElements present in the stack: \n");
for (int i = top; i>= 0; --i)
printf("%d\n", inp_array[i]);
    }
}

Output:

Perform operations on the stack:
1.Push the element
2.Pop the element
3.peek
4.End


Enter the choice:

Now, you can enter the choices. Suppose, you enter 1 (push the element). Now, you enter the element to be added onto the stack is 3. So, the program execution, when you enter the choice 3 (peek the element), you can see that it shows “element present in the stack is 3.

Enter the choice: 1
Enter the element to be added onto the stack: 3
Perform operations on the stack:
1.Push the element
2.Pop the element
3.peek
4.End


Enter the choice: 3
Elements present in the stack: 
3


Perform operations on the stack:
1.Push the element
2.Pop the element
3.peek
4.End


Enter the choice:  

Java Example:

// Stack implementation in Java


class Stack {


  // store elements of stack
private int arr[];
  // represent top of stack
private int top;
  // total capacity of the stack
private int capacity;


  // Creating a stack
Stack(int size) {
    // initialize the array
    // initialize the stack variables
arr = new int[size];
capacity = size;
top = -1;
  }


  // push elements to the top of stack
public void push(int x) {
if (isFull()) {
System.out.println("Stack OverFlow");


      // terminates the program
System.exit(1);
    }


    // insert element on top of stack
System.out.println("Inserting " + x);
arr[++top] = x;
  }


  // pop elements from top of stack
public int pop() {


    // if stack is empty
    // no element to pop
if (isEmpty()) {
System.out.println("STACK EMPTY");
      // terminates the program
System.exit(1);
    }


    // pop element from top of stack
return arr[top--];
  }


  // return size of the stack
public int getSize() {
return top + 1;
  }


  // check if the stack is empty
public Boolean isEmpty() {
return top == -1;
  }


  // check if the stack is full
public Boolean isFull() {
return top == capacity - 1;
  }


  // display elements of stack
public void printStack() {
for (int i = 0; i<= top; i++) {
System.out.print(arr[i] + ", ");
    }
  }
public static void main(String[] args) {
    Stack stack = new Stack(5);
stack.push(1);
stack.push(2);
stack.push(3);


System.out.print("Stack: ");
stack.printStack();


    // remove element from stack
stack.pop();
System.out.println("\nAfter popping out");
stack.printStack();
  }
}

Output:

Inserting 1
Inserting 2
Inserting 3
Stack: 1, 2, 3, 
After popping out 1, 2,

.


Related Topics

Best Examples of Backend Technologies

What is a Backend Technology? Backend technology works on the server side of a website. It helps us to ensure that data is organized so everything on the client side of...

9 minutes read.

Top 10 IDEs for Programmers

IDE stands for “Integrated Development Environment” is software where programmers can write the code for their apps. Debuggers and compilers are typically included with IDEs, which greatly simplifies the job...

5 minutes read.

List of Colleges in Pune

About Pune: Maharashtra's state capital is the city of Pune. It is a city formerly known as Poona, where the rivers Mutha and Mula converge. Additionally, it receives the moniker "Queen...

20 minutes read.

Top Product Based Companies in Chennai

Let's first learn what product-based companies actually are. As the name suggests, a product-based company makes products for consumers at different levels and markets. A service-based company, on the other...

4 minutes read.

List of Popular English Songs

1. Memories Memories by Maroon 5 will make your heart skip a beat and surely make you jump into your memories. It is a sweet simple Melody that will fill your...

6 minutes read.

List of Fruits and Vegetables

We eat fruits and vegetables on a regular basis in our daily lives. It is a central aspect of our existence. Fruits are juicy fleshy plant products that include seeds,...

10 minutes read.

List of Chinese Products in India

Government can measure the growth and development best by evaluating its GDP(Gross Domestic Product). Gross Domestic Product or GDP provides us with a value of the total goods and services...

5 minutes read.

Top 5 Places to Practice Ethical Hacking

Practice is necessary to make our skills updated and up to date. Since it's more about how you utilize the tools you know than how many you know. Hacking is...

3 minutes read.

Defect Triage Meeting

The main application of Defect Triage (sometimes referred to as Bug Triage) is in software testing. It is necessary to describe the faults' importance and seriousness. The severity of a...

3 minutes read.

National Parks in India

A national park is a protected area dedicated to the conservation of animals and diversity, and where activities such as development, forestry, fishing, hunting, and grazing on cropland are prohibited....

11 minutes read.

Axios

Axios is an isomorphic promise-based library used to make the HTTP request for browsers and nodejs. This library uses native nodejs http modules on the server side and XMLHttpRequests on...

7 minutes read.

What are the Baud Rate and its Importance?

Computers communicate by sending digital data bits via transmission media from one device to another. You don't need to worry about setting up the specifics to send and receive data....

3 minutes read.

The Longest River in India

India is known as the "Land of Rivers" because of the many rivers run here. Himalayan Rivers, the rivers that originate in the Himalayas, and Peninsular Rivers, the rivers that...

6 minutes read.

Models of Security

A security model outlines the crucial components of security and how they relate to operating system performance. Without strong and efficient security models, no firm can protect its sensitive data...

4 minutes read.

What is a Burp Suite?

A set of tools for web application penetration testing is called the Burp Suite. It was created by a business called Portswigger, which is also the alias of the company's...

4 minutes read.

Tourist Places in Tripura

Introduction When planning a vacation, it is important to have a clear notion of the activities you want to participate in and the locations you wish to see after arriving at...

11 minutes read.

List of Sports

According to scientific research, exercise benefits our physical and mental well-being. Exercise offers many advantages for our health, like regulating our cholesterol levels, assisting with bone health, and lowering our...

9 minutes read.

6 Essential Mobile Apps for Computer Science

Today, there is just one solution for every single job, including exchanging data, viewing movies, ordering a cab, and many more and that solution is our Smartphone. All of these...

4 minutes read.

List of IT Companies in India

Information technology is currently the most well-known industry in the world. It has the power to make users' thoughts come true. IT firms are companies that provide information technology services....

5 minutes read.

List of Countries and Capitals

Introduction The modern world is divided into several countries based on various historical and political reasons. Some countries in the modern world have democracy, monarchy, dictatorship, etc. All these countries have...

4 minutes read.