博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Stack的链表实现
阅读量:4229 次
发布时间:2019-05-26

本文共 612 字,大约阅读时间需要 2 分钟。

public class Stack<T> {
    //向上增长型
    private LinkedList<T> storage=new LinkedList<T>();
    public void push(T v){
        storage.addFirst(v);
    }
    public T peek(){//只提供栈顶元素,不出栈
        return storage.getFirst();
    }
    public T pop(){
        return storage.removeFirst();
    }
    public boolean empty(){
        return storage.isEmpty();
    }
    public String toString(){
        return storage.toString();
    }

}

ArrayList在首部添加元素会造成整个数组的偏移,其实是很耗时的操作,所以ArrayList本身不提供向上增长的栈,

但是我觉得对于栈,如果向下增长的话,数组效率还是挺高的,下一条博客我会写一个向下增长的栈。

测试用例

        Stack<Integer> a=new Stack<>();

        a.push(1);
        a.push(2);
        a.push(3);
        a.push(4);
        System.out.println(a.peek());
        while(!a.empty()){
            System.out.println(a.pop());
        }

转载地址:http://qpjqi.baihongyu.com/

你可能感兴趣的文章
PAT_A 1015. Reversible Primes (20)
查看>>
SetWindowLong函数介绍
查看>>
百度云cdn,bos设置
查看>>
[chrome]好用的chrome Json 格式化插件
查看>>
[Android]hex 64k解决
查看>>
[iphone]调出来控制的小圆球(控制点)
查看>>
[react-native]prop,state对比
查看>>
ssl问题被google 拒收
查看>>
[GreenDAO]like的坑
查看>>
正则表达式中的元字符
查看>>
Java Collection很好的介绍
查看>>
java中的JSon解析
查看>>
解决 Mybatis Generator由表字段使用关键字导致的异常方案
查看>>
HTTP请求的基础知识——HTTP中GET,POST和PUT的区别
查看>>
为什么需要Java反射?
查看>>
Java代码反编译——下载class字节码文件及反编译.class文件
查看>>
稀疏表示去噪的理解
查看>>
稀疏表示(二)——KSVD算法详解(结合代码和算法思路)
查看>>
剑指Offer习题集锦——Java实现及思路分析
查看>>
剑指Offer——二叉树镜像问题
查看>>