用链表实现栈

来源:互联网 发布:如何开展网络推广 编辑:程序博客网 时间:2024/06/05 04:08
public class Link {    public long lData;    public Link next;//reference to next Link    public Link(long lData){        this.lData=lData;    }    public void displayLink(){        System.out.print("{"+lData+"}");    }}
public class LinkList {    private Link first;    public LinkList(){        first=null;    }    public boolean isEmpty(){        return (first==null);    }       public void insertFirst(long dd){        Link newLink = new Link(dd);        newLink.next=first;        first=newLink;    }    public long deleteFirst(){        Link temp = first;//save reference to link        first = first.next;//delete it         return temp.lData;    }    public void displayList(){        Link current =first;        while(current!=null){            current.displayLink();            current=current.next;        }        System.out.println("");    }}
public class LinkStack {    private LinkList theList;    public LinkStack(){        theList=new LinkList();    }    public void push(long j){        theList.insertFirst(j);    }    public long pop(){        return theList.deleteFirst();    }    public boolean isEmpty(){        return (theList.isEmpty());    }    public void displayStack(){        theList.displayList();    }}
public class LinkStackApp {    /**     * @param args     */    public static void main(String[] args) {        // TODO Auto-generated method stub        LinkStack theStack = new LinkStack();        theStack.push(20);        theStack.push(40);        theStack.displayStack();        theStack.pop();        theStack.pop();        theStack.displayStack();    }}
0 0
原创粉丝点击