Create A Stack Using Array in C++

Typically when solving programming questions, sometimes when the brain is clustered with multiple thoughts. Even the simplest fundamentals of programming seem very difficult to apply while solving a question. So having a strong grip on the fundamentals of programming mostly automates the thought process for applying these concepts while writing up a code. Stack is one of the most basic data structures you must know. Therefore in today’s article, we’ll learn how to create a stack using Array in C++


So open up your IDE and let’s get started real quick. Once you understand the logic practice this program on your own to make your brain work in a problem-solving way. This is a pretty easy question so you might not get asked in an interview but practising this question will make your grip more firm in the C++ language.


What’s The Approach?


  • We will create an array of size 1000.


  • If there’s no element in the array, the the stack will be called Underflow. And if we add element in the stack after exceeding it’s size then it’ll be called Overflow.


  • The element added at the last will be removed first, if in any case we want to delete elements from the stack.


  • .push() method will be used to insert the elements in the stack, .pop() method will be used to remove an element from the stack.


Also Read: How To Run C++ in Visual Studio Code on Mac OS


C++ Program To Create A Stack Using Array











5 pushed into stack

10 pushed into stack

15 pushed into stack

15 Popped from stack

Elements present in stack : 10 5

/* C++ program to implement basic stack
operations */
#include <bits/stdc++.h>

using namespace std;

#define MAX 1000

class Stack {
    int top;

    int a[MAX]; // Maximum size of Stack

    Stack() { top = -1; }
    bool push(int x);
    int pop();
    int peek();
    bool isEmpty();

bool Stack::push(int x)
    if (top >= (MAX - 1)) {
        cout << "Stack Overflow";
        return false;
    else {
        a[++top] = x;
        cout << x << " pushed into stack\n";
        return true;

int Stack::pop()
    if (top < 0) {
        cout << "Stack Underflow";
        return 0;
    else {
        int x = a[top--];
        return x;
int Stack::peek()
    if (top < 0) {
        cout << "Stack is Empty";
        return 0;
    else {
        int x = a[top];
        return x;

bool Stack::isEmpty()
    return (top < 0);

// Driver program to test above functions
int main()
    class Stack s;
    cout << s.pop() << " Popped from stack\n";
    //print all elements in stack :
    cout<<"Elements present in stack : ";
        // print top element in stack
        cout<<s.peek()<<" ";
        // remove top element in stack

    return 0;



I'm a coding geek interested in cyberspace who loves to write and read

Leave a Reply

Your email address will not be published. Required fields are marked *