package com;
/** 栈(链式储存结构)
*/
public class LinearlinkStack {
Entry linkStack;
public LinearlinkStack(){
linkStack =new Entry();
}
class Entry{
Object date;
Entry next;
}
public void push(Object obj){
Entry p=null,s=null;
p=linkStack;
while(p!=null&&p.next!=null){
p=p.next;
}
s=new Entry();
p.date=obj;
p.next=s;
}
public Object pop(){
Object ob=null;
Entry s=null;
Entry e=linkStack;
while(e.date!=null&&e.next!=null){
s=e;
e=e.next;
}
ob=s.date;
s.next=null;
s.date=null;
e=null;
return ob;
}
public boolean isElement(Object obj){
Entry p=null;
p=linkStack;
while(p!=null&&((p.date == null)||(!p.date.equals(obj)))){
p=p.next;
}
return p!=null;
}
public static void main(String[] args) {
LinearlinkStack t= new LinearlinkStack();
t.push("1");
t.push("2");
t.push("3");
t.push("222");
// t.add("11", 11);
forech(t);
System.out.println(t.pop());
forech(t);
// System.out.println(linkStackSizeFor(1));
}
public static void forech(LinearlinkStack t){
Entry e=t.linkStack;
while(e.date!=null&&e.next!=null){
System.out.println(e.date);
e=e.next;
}
System.out.println("------------");
}
}