# 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

Input:

`s.push(5)`

`s.push(10)`

` s.push(15)`

`s.pop()`

Output:

`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;

public:
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;
s.push(5);
s.push(10);
s.push(15);
cout << s.pop() << " Popped from stack\n";
//print all elements in stack :
cout<<"Elements present in stack : ";
while(!s.isEmpty())
{
// print top element in stack
cout<<s.peek()<<" ";
// remove top element in stack
s.pop();
}

return 0;
}
``` #### Ethix

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