#include <iostream>
using namespace std;
const int Size = 10;
int top = -1;
int stack[Size];
void push(int value)
{
if (top == Size - 1)
{
cout << "Stack Overflow\n";
}
else
{
stack[++top] = value;
}
}
void display()
{
if (top == -1)
{
cout << "Stack is Empty\n";
return;
}
cout << "Stack Values Are:\n";
for (int i = top; i >= 0; i--)
{
cout << stack[i] << endl;
}
}
void pop()
{
if (top == -1)
{
cout << "Stack is Empty\n";
}
else
{
cout << stack[top--] << endl;
}
}
void peek()
{
if (top == -1)
{
cout << "Stack is Empty\n";
}
else
{
cout << "Peek is = " << stack[top] << endl;
}
}
int main()
{
push(10);
push(20);
push(30);
push(40);
display();
pop();
pop();
peek();
pop();
pop();
pop();
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY29uc3QgaW50IFNpemUgPSAxMDsKaW50IHRvcCA9IC0xOwppbnQgc3RhY2tbU2l6ZV07Cgp2b2lkIHB1c2goaW50IHZhbHVlKQp7CiAgICBpZiAodG9wID09IFNpemUgLSAxKQogICAgewogICAgICAgIGNvdXQgPDwgIlN0YWNrIE92ZXJmbG93XG4iOwogICAgfQogICAgZWxzZQogICAgewogICAgICAgIHN0YWNrWysrdG9wXSA9IHZhbHVlOwogICAgfQp9Cgp2b2lkIGRpc3BsYXkoKQp7CiAgICBpZiAodG9wID09IC0xKQogICAgewogICAgICAgIGNvdXQgPDwgIlN0YWNrIGlzIEVtcHR5XG4iOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICBjb3V0IDw8ICJTdGFjayBWYWx1ZXMgQXJlOlxuIjsKCiAgICBmb3IgKGludCBpID0gdG9wOyBpID49IDA7IGktLSkKICAgIHsKICAgICAgICBjb3V0IDw8IHN0YWNrW2ldIDw8IGVuZGw7CiAgICB9Cn0KCnZvaWQgcG9wKCkKewogICAgaWYgKHRvcCA9PSAtMSkKICAgIHsKICAgICAgICBjb3V0IDw8ICJTdGFjayBpcyBFbXB0eVxuIjsKICAgIH0KICAgIGVsc2UKICAgIHsKICAgICAgICBjb3V0IDw8IHN0YWNrW3RvcC0tXSA8PCBlbmRsOwogICAgfQp9Cgp2b2lkIHBlZWsoKQp7CiAgICBpZiAodG9wID09IC0xKQogICAgewogICAgICAgIGNvdXQgPDwgIlN0YWNrIGlzIEVtcHR5XG4iOwogICAgfQogICAgZWxzZQogICAgewogICAgICAgIGNvdXQgPDwgIlBlZWsgaXMgPSAiIDw8IHN0YWNrW3RvcF0gPDwgZW5kbDsKICAgIH0KfQoKaW50IG1haW4oKQp7CiAgICBwdXNoKDEwKTsKICAgIHB1c2goMjApOwogICAgcHVzaCgzMCk7CiAgICBwdXNoKDQwKTsKCiAgICBkaXNwbGF5KCk7CgogICAgcG9wKCk7CiAgICBwb3AoKTsKCiAgICBwZWVrKCk7CgogICAgcG9wKCk7CiAgICBwb3AoKTsKICAgIHBvcCgpOwp9