/* 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 DSProjectJava
{
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;
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBwYWNrYWdlIHdoYXRldmVyOyAvLyBkb24ndCBwbGFjZSBwYWNrYWdlIG5hbWUhICovCgppbXBvcnQgamF2YS51dGlsLio7CmltcG9ydCBqYXZhLmxhbmcuKjsKaW1wb3J0IGphdmEuaW8uKjsKCmNsYXNzIFN0YWNrCnsKICAgIGludCB0b3A7CiAgICBpbnRbXSBpdGVtcz1uZXcgIGludFs1XTsKfQpwdWJsaWMgY2xhc3MgRFNQcm9qZWN0SmF2YQp7CiAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKQogICAgewogICAgICAgIFN0YWNrIHM9bmV3IFN0YWNrKCk7CiAgICAgICAgaW50IGxvb3AsYSxiOwogICAgICAgIEluaXRpYWxpemUocyk7CgogICAgICAgIFB1c2gocywgMTEpOwogICAgICAgIFB1c2gocywgMjIpOwogICAgICAgIFB1c2gocywgMzMpOwogICAgICAgIFB1c2gocywgNDQpOwogICAgICAgIFB1c2gocywgNTUpOwogICAgICAgIGZvcihsb29wPTA7IGxvb3A8NTsgbG9vcCsrKQogICAgICAgIHsKICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJQdXNoZWQgRWxlbWVudCBJc1siK2xvb3ArIl09IitzLml0ZW1zW2xvb3BdKTsKICAgICAgICB9CgogICAgICAgIFBvcChzKTsKICAgICAgICBQb3Aocyk7CiAgICAgICAgZm9yKGxvb3A9NDsgbG9vcD4yOyBsb29wLS0pLyoqTGFzdCBJbiBGaXJzdCBPdXQqKi8KICAgICAgICB7CiAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiUG9wZWQgRWxlbWVudCBJc1siK2xvb3ArIl09IitzLml0ZW1zW2xvb3BdKTsKCiAgICAgICAgfQoKICAgICAgICBhPVBvc2l0aW9uKHMpOwogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiTm93IFRvcDoiK2EpOwoKICAgICAgICBiPVNpemUocyk7CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJTaXplPSIrYik7CgogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBJbml0aWFsaXplKFN0YWNrIHApCiAgICB7CiAgICAgICAgcC50b3A9LTE7CiAgICB9CiAgICBwdWJsaWMgc3RhdGljIGludCBGdWxsKFN0YWNrIHApCiAgICB7CiAgICAgICAgaWYocC50b3A9PTUpCiAgICAgICAgewogICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgfQoKICAgIH0KICAgIHB1YmxpYyBzdGF0aWMgaW50IEVtcHR5KFN0YWNrIHApCiAgICB7CgogICAgICAgIGlmKHAudG9wPT0tMSkKICAgICAgICB7CiAgICAgICAgICAgIHJldHVybiAxOwogICAgICAgIH0KICAgICAgICBlbHNlCiAgICAgICAgewogICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICB9CgogICAgfQogICAgcHVibGljIHN0YXRpYyB2b2lkIFB1c2goU3RhY2sgcCxpbnQgaXRlbSkKICAgIHsKICAgICAgICBpZihGdWxsKHApPT0wKQogICAgICAgIHsKICAgICAgICAgICAgcC50b3ArKzsKICAgICAgICAgICAgcC5pdGVtc1twLnRvcF09aXRlbTsKICAgICAgICB9CiAgICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJTdGFjayBJcyBPdmVybG9hZCIpOwogICAgICAgIH0KCgogICAgfQogICAgcHVibGljIHN0YXRpYyB2b2lkIFBvcChTdGFjayBwKQogICAgewogICAgICAgIGlmKEVtcHR5KHApPT0xKQogICAgICAgIHsKICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJTdGFjayBJcyBFbXB0eSIpOwogICAgICAgIH0KICAgICAgICBlbHNlCiAgICAgICAgewogICAgICAgICAgICBwLnRvcC0tOwogICAgICAgIH0KCiAgICB9CiAgICBwdWJsaWMgc3RhdGljIGludCBQb3NpdGlvbihTdGFjayBwKQogICAgewoKICAgICAgICBpbnQgeDsKICAgICAgICBpbnQgeT0wOwoKICAgICAgICBpZihFbXB0eShwKT09MSkKICAgICAgICB7CgogICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIlN0YWNrIElzIEVtcHR5Iik7CiAgICAgICAgfQoKICAgICAgICBlbHNlCiAgICAgICAgewogICAgICAgICAgICB4PXAuaXRlbXNbcC50b3BdOwogICAgICAgICAgICByZXR1cm4geDsKCiAgICAgICAgfQoKICAgICAgICByZXR1cm4geTsKCiAgICB9CgogICAgcHVibGljIHN0YXRpYyBpbnQgU2l6ZShTdGFjayBwKQogICAgewoKICAgICAgICBpbnQgcG9zOwogICAgICAgIHBvcz1wLnRvcCsxOwoKICAgICAgICByZXR1cm4gcG9zOwoKCiAgICB9Cgp9Cg==