Java 实现Stack

Stack是一直先进后出的数据结构,先进后出在现实生活与计算机世界都很常见。作为开发者很有必要熟悉其实现。
/**
 * 内部链式存储机制
 * 2018/6/3
 * StoneFu
 */
public class LinkedStack<T> {
    //内部节点类
    private static class Node<U>{
        U item;
        Node<U> next;
        Node(){item=null;next=null;}
        Node(U item,Node<U> next){
            this.item=item;
            this.next=next;
        }
        boolean end(){return item==null&& next==null;}


    }
    //顶点哨兵
    private Node<T> top=new Node<T>();
    //入栈
    public void push(T item){
        top=new Node<>(item,top);
    }
  //出栈
    public T pop(){
        T result=top.item;
        if(!top.end()){
            top=top.next;
        }
        return result;
    }



}

测试代码

 @Test
    public void testLinkedStack(){
        LinkedStack<String> lss=new LinkedStack<>();
        for(String s:"i love you".split(" ")){
            lss.push(s);
        }
        String s;
        while ((s=lss.pop())!=null){
            System.out.println(""+s);
        }
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 179,667评论 25 708
  • xcode8更新以来,上传打包到app store会出现很多的问题,闲着没事,总结了一下,希望有所帮助。 1.权限...
    岩哥思密达阅读 483评论 0 1
  • (声明:胡乱改写,不敢亵渎经典) 话说刘玄德在景山稍作驻扎后且战且行,于路上叱退了文仲业引来的曹兵,闻喊声远去,...
    风浪中的船阅读 1,290评论 0 1
  • 二刷《战狼2》,感动我的一点(也许与大家不同)是冷锋(吴京饰)卸掉军章,与首长告别时,泪水盈眶 ,行军礼,向左转,...
    飒玥阅读 231评论 0 1

友情链接更多精彩内容