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 calledOverflow
.
- 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; }