美文网首页
写一个栈

写一个栈

作者: xin激流勇进 | 来源:发表于2019-04-02 17:41 被阅读0次
package structures;

public interface Stack<E> {
    int getSize();
    boolean isEmpty();
    E pop();
    E peek();
    void push(E e);

}
package structures;

public class ArrayStack<E> implements Stack<E> {

    private Array<E> array;

    public ArrayStack(int capacity) {
        array = new Array<>(capacity);
    }

    public ArrayStack() {
        array = new Array<>();
    }

    public int getCapacity() {
        return array.getCapacity();
    }

    @Override
    public int getSize() {
        return array.getSize();
    }

    @Override
    public boolean isEmpty() {
        return array.isEmpty();
    }

    @Override
    public E pop() {
        return array.removeLast();
    }

    @Override
    public E peek() {
        return array.getLast();
    }

    @Override
    public void push(E e) {
        array.addLast(e);
    }

    @Override
    public String toString() {
        StringBuffer stringBuffer = new StringBuffer();
        stringBuffer.append("<stack> [");

        for (int i = 0; i < array.getSize(); i++) {
            stringBuffer.append(array.get(i));
            if (i != array.getSize() - 1) {
                stringBuffer.append(",");
            }
        }

        stringBuffer.append("] <top>\n");

        return stringBuffer.toString();
    }
}

相关文章

  • 写一个栈

  • 十五:MySQL层事务提交流程简析(笔记)

    部分栈帧: 2、prepare栈帧 trx_prepare_low 3、flush 之前写redo 栈帧1145 ...

  • 栈的实现(基于链表)

    先定义一个接口 写一个栈的类,继承Stack接口

  • 编程笔试题(四)栈

    栈是常用的数据结构。尽管一般的面试里不会让你直接写一个栈的实现,不过跟栈有关的编程题还是有的。 定义 首先看一下栈...

  • 数据结构之栈的链式存储结构

    之前写了栈的顺序存储结构,对栈的定义和操作进行了说明 数据结构之栈的顺序存储结构 现在接着写栈的链式存储结构 栈的...

  • Http协议揭秘

    去年写私有栈的时候,就想分享出一个关于公有栈的分析,奈何中间一些琐事打断。现在重新拾起来,写一些内容,分享出来,很...

  • 汇编学习-入栈和出栈

    栈有两个基本的操作:入栈和出栈。入栈就是将一个新的元素放到栈顶,出栈就是从栈顶取出一个元素。栈顶的元素总是最后入栈...

  • [c/c++]3.如何查看和更改程序运行栈的大小

    进程内存布局 我们写程序运行栈的栈帧保存在栈区,函数调用深度太多将导致爆栈栈的大小有上限,每个进程可以指定软上限,...

  • Leetcode-145-Binary Tree Postord

    使用非递归的方法写二叉树的后序遍历。印象中迭代的方法写树的遍历是用栈来写的。思路如下: 既然我们要通过压栈跳栈的方...

  • 栈的逻辑结构和存储结构

    main()进栈s(1)进栈s(0)进栈 s(0)出栈s(1)出栈main()出栈 顺序栈 一个数组 + 指向栈顶...

网友评论

      本文标题:写一个栈

      本文链接:https://www.haomeiwen.com/subject/ytxnbqtx.html