/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
{
int top;
int[] items=new int[5];
}
public class ideone.java
{
public static void main
(String[] args
) {
int loop,a,b;
Initialize(s);
Push(s, 11);
Push(s, 22);
Push(s, 33);
Push(s, 44);
Push(s, 55);
for(loop=0; loop<5; loop++)
{
System.
out.
println("Pushed Element Is["+loop
+"]="+s.
items[loop
]); }
Pop(s);
Pop(s);
for(loop=4; loop>2; loop--)/**Last In First Out**/
{
System.
out.
println("Poped Element Is["+loop
+"]="+s.
items[loop
]);
}
System.
out.
println("Now Top:"+a
);
b=Size(s);
System.
out.
println("Size="+b
);
}
public static void Initialize
(Stack p
) {
p.top=-1;
}
public static int Full
(Stack p
) {
if(p.top==5)
{
return 1;
}
else
{
return 0;
}
}
public static int Empty
(Stack p
) {
if(p.top==-1)
{
return 1;
}
else
{
return 0;
}
}
public static void Push
(Stack p,
int item
) {
if(Full(p)==0)
{
p.top++;
p.items[p.top]=item;
}
else
{
System.
out.
println("Stack Is Overload"); }
}
public static void Pop
(Stack p
) {
if(Empty(p)==1)
{
System.
out.
println("Stack Is Empty"); }
else
{
p.top--;
}
}
{
int x;
int y=0;
if(Empty(p)==1)
{
System.
out.
println("Stack Is Empty"); }
else
{
x=p.items[p.top];
return x;
}
return y;
}
public static int Size
(Stack p
) {
int pos;
pos=p.top+1;
return pos;
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBwYWNrYWdlIHdoYXRldmVyOyAvLyBkb24ndCBwbGFjZSBwYWNrYWdlIG5hbWUhICovCgppbXBvcnQgamF2YS51dGlsLio7CmltcG9ydCBqYXZhLmxhbmcuKjsKaW1wb3J0IGphdmEuaW8uKjsKCmNsYXNzIFN0YWNrCnsKICAgIGludCB0b3A7CiAgICBpbnRbXSBpdGVtcz1uZXcgIGludFs1XTsKfQpwdWJsaWMgY2xhc3MgaWRlb25lLmphdmEKewogICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykKICAgIHsKICAgICAgICBTdGFjayBzPW5ldyBTdGFjaygpOwogICAgICAgIGludCBsb29wLGEsYjsKICAgICAgICBJbml0aWFsaXplKHMpOwoKICAgICAgICBQdXNoKHMsIDExKTsKICAgICAgICBQdXNoKHMsIDIyKTsKICAgICAgICBQdXNoKHMsIDMzKTsKICAgICAgICBQdXNoKHMsIDQ0KTsKICAgICAgICBQdXNoKHMsIDU1KTsKICAgICAgICBmb3IobG9vcD0wOyBsb29wPDU7IGxvb3ArKykKICAgICAgICB7CiAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiUHVzaGVkIEVsZW1lbnQgSXNbIitsb29wKyJdPSIrcy5pdGVtc1tsb29wXSk7CiAgICAgICAgfQoKICAgICAgICBQb3Aocyk7CiAgICAgICAgUG9wKHMpOwogICAgICAgIGZvcihsb29wPTQ7IGxvb3A+MjsgbG9vcC0tKS8qKkxhc3QgSW4gRmlyc3QgT3V0KiovCiAgICAgICAgewogICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIlBvcGVkIEVsZW1lbnQgSXNbIitsb29wKyJdPSIrcy5pdGVtc1tsb29wXSk7CgogICAgICAgIH0KCiAgICAgICAgYT1Qb3NpdGlvbihzKTsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIk5vdyBUb3A6IithKTsKCiAgICAgICAgYj1TaXplKHMpOwogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiU2l6ZT0iK2IpOwoKICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIHZvaWQgSW5pdGlhbGl6ZShTdGFjayBwKQogICAgewogICAgICAgIHAudG9wPS0xOwogICAgfQogICAgcHVibGljIHN0YXRpYyBpbnQgRnVsbChTdGFjayBwKQogICAgewogICAgICAgIGlmKHAudG9wPT01KQogICAgICAgIHsKICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgIH0KCiAgICB9CiAgICBwdWJsaWMgc3RhdGljIGludCBFbXB0eShTdGFjayBwKQogICAgewoKICAgICAgICBpZihwLnRvcD09LTEpCiAgICAgICAgewogICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgfQoKICAgIH0KICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBQdXNoKFN0YWNrIHAsaW50IGl0ZW0pCiAgICB7CiAgICAgICAgaWYoRnVsbChwKT09MCkKICAgICAgICB7CiAgICAgICAgICAgIHAudG9wKys7CiAgICAgICAgICAgIHAuaXRlbXNbcC50b3BdPWl0ZW07CiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiU3RhY2sgSXMgT3ZlcmxvYWQiKTsKICAgICAgICB9CgoKICAgIH0KICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBQb3AoU3RhY2sgcCkKICAgIHsKICAgICAgICBpZihFbXB0eShwKT09MSkKICAgICAgICB7CiAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiU3RhY2sgSXMgRW1wdHkiKTsKICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICAgcC50b3AtLTsKICAgICAgICB9CgogICAgfQogICAgcHVibGljIHN0YXRpYyBpbnQgUG9zaXRpb24oU3RhY2sgcCkKICAgIHsKCiAgICAgICAgaW50IHg7CiAgICAgICAgaW50IHk9MDsKCiAgICAgICAgaWYoRW1wdHkocCk9PTEpCiAgICAgICAgewoKICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJTdGFjayBJcyBFbXB0eSIpOwogICAgICAgIH0KCiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICAgeD1wLml0ZW1zW3AudG9wXTsKICAgICAgICAgICAgcmV0dXJuIHg7CgogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIHk7CgogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgaW50IFNpemUoU3RhY2sgcCkKICAgIHsKCiAgICAgICAgaW50IHBvczsKICAgICAgICBwb3M9cC50b3ArMTsKCiAgICAgICAgcmV0dXJuIHBvczsKCgogICAgfQoKfQo=