// size of the stack
static final int MAX = 1000;
int top;
int a[] = new int[MAX]; // Maximum size of Stack
//check if the stack is empty if top is -1 then stack is empty else not
boolean isEmpty()
{
return (top < 0);
}
// constructor for the Stack Class
{
top = -1;
}
boolean push(int x)
{
// if stack is already full
if (top >= (MAX - 1)) {
System.
out.
println("Stack Overflow"); return false;
}
else {
a[++top] = x;
System.
out.
println(x
+ " pushed into stack"); return true;
}
}
int pop()
{
// if stack is empty
if (top < 0) {
System.
out.
println("Stack Underflow"); return 0;
}
else {
int x = a[top--];
return x;
}
}
int peek()
{
// if stack is empty
if (top < 0) {
System.
out.
println("Stack Underflow"); return 0;
}
else {
int x = a[top];
return x;
}
}
}
// Driver code
class Main {
public static void main
(String args
[]) {
s.push(10);
s.push(20);
s.push(30);
System.
out.
println("top element of the stack is " + s.
peek()); System.
out.
println(s.
pop() + " Popped from stack"); System.
out.
println("top element of the stack is " + s.
peek()); }
}
CmNsYXNzIFN0YWNrIHsKLy8gc2l6ZSBvZiB0aGUgc3RhY2sKCXN0YXRpYyBmaW5hbCBpbnQgTUFYID0gMTAwMDsKCWludCB0b3A7CglpbnQgYVtdID0gbmV3IGludFtNQVhdOyAvLyBNYXhpbXVtIHNpemUgb2YgU3RhY2sKICAgCiAgIC8vY2hlY2sgaWYgdGhlIHN0YWNrIGlzIGVtcHR5IGlmIHRvcCBpcyAtMSB0aGVuIHN0YWNrIGlzIGVtcHR5IGVsc2Ugbm90Cglib29sZWFuIGlzRW1wdHkoKQoJewoJCXJldHVybiAodG9wIDwgMCk7Cgl9CiAgIC8vIGNvbnN0cnVjdG9yIGZvciB0aGUgU3RhY2sgQ2xhc3MKCVN0YWNrKCkKCXsKCQl0b3AgPSAtMTsKCX0KCgoJYm9vbGVhbiBwdXNoKGludCB4KQoJewogICAgICAgIC8vIGlmIHN0YWNrIGlzIGFscmVhZHkgZnVsbCAKCQlpZiAodG9wID49IChNQVggLSAxKSkgewoJCQlTeXN0ZW0ub3V0LnByaW50bG4oIlN0YWNrIE92ZXJmbG93Iik7CgkJCXJldHVybiBmYWxzZTsKCQl9CgkJZWxzZSB7CgkJCWFbKyt0b3BdID0geDsKCQkJU3lzdGVtLm91dC5wcmludGxuKHggKyAiIHB1c2hlZCBpbnRvIHN0YWNrIik7CgkJCXJldHVybiB0cnVlOwoJCX0KCX0KCglpbnQgcG9wKCkKCXsKICAgICAgICAvLyBpZiBzdGFjayBpcyBlbXB0eSAKCQlpZiAodG9wIDwgMCkgewoJCQlTeXN0ZW0ub3V0LnByaW50bG4oIlN0YWNrIFVuZGVyZmxvdyIpOwoJCQlyZXR1cm4gMDsKCQl9CgkJZWxzZSB7CgkJCWludCB4ID0gYVt0b3AtLV07CgkJCXJldHVybiB4OwoJCX0KCX0KCglpbnQgcGVlaygpCgl7CiAgICAgICAgLy8gaWYgc3RhY2sgaXMgZW1wdHkKCQlpZiAodG9wIDwgMCkgewoJCQlTeXN0ZW0ub3V0LnByaW50bG4oIlN0YWNrIFVuZGVyZmxvdyIpOwoJCQlyZXR1cm4gMDsKCQl9CgkJZWxzZSB7CgkJCWludCB4ID0gYVt0b3BdOwoJCQlyZXR1cm4geDsKCQl9Cgl9Cn0KCi8vIERyaXZlciBjb2RlCmNsYXNzIE1haW4gewoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nIGFyZ3NbXSkKCXsKCQlTdGFjayBzID0gbmV3IFN0YWNrKCk7CgkJcy5wdXNoKDEwKTsKCQlzLnB1c2goMjApOwoJCXMucHVzaCgzMCk7CgkJU3lzdGVtLm91dC5wcmludGxuKCJ0b3AgZWxlbWVudCBvZiB0aGUgc3RhY2sgaXMgIiArIHMucGVlaygpKTsKCQlTeXN0ZW0ub3V0LnByaW50bG4ocy5wb3AoKSArICIgUG9wcGVkIGZyb20gc3RhY2siKTsKCSAgICBTeXN0ZW0ub3V0LnByaW50bG4oInRvcCBlbGVtZW50IG9mIHRoZSBzdGFjayBpcyAiICsgcy5wZWVrKCkpOwoJfQp9Cg==