Stack push
void push(T value)
{
if (isFull())
{
cout << "Stack is already full" << endl;
return;
}
topIndex++;
stack[topIndex] = value;
}Stack pop
void pop()
{
if (isEmpty())
{
cout << "Stack is already empty" << endl;
return;
}
topIndex--;
}Stack top/peek
T top() const
{
if (isEmpty())
{
cout << "Stack is empty" << endl;
return T();
}
return stack[topIndex];
}Stack isEmpty
bool isEmpty() const
{
return topIndex == -1;
}Stack isFull
bool isFull() const
{
return topIndex == MAXSIZE - 1;
}Stack clear
void clear()
{
topIndex = -1;
}Stack display
template <typename T>
void display(const Stack<T>& s)
{
if (s.isEmpty()) {
cout << "Stack is empty" << endl;
return;
}
Stack<T> temp = s;
while (!temp.isEmpty()) {
cout << temp.top() << " ";
temp.pop();
}
cout << endl;
}