基于链表实现栈

链表实现栈的底层实现

链栈的底层实现

此程序采用上一节的链表的实现,在此基础上实现的栈

接口定义

public interface Stack<E> {
    void push(E e);//入栈
    E pop();//出栈
    E seek();//查询栈顶元素
    int getSize();//栈中元素个数
    boolean isEmpty();//判栈空
}

public class LinkedListStack <E> implements Stack<E> {
    private LinkedList stack;
    public LinkedListStack(){
        stack=new LinkedList();
    }
    @Override
    public int getSize() {
        return stack.getSize();
    }

    @Override
    public boolean isEmpty() {
        return stack.isEmpty();
    }
    @Override
    public void push(E e) {
        stack.addFirst(e);
    }

    @Override
    public E pop() {
        return (E) stack.removeFist();
    }

    @Override
    public E seek() {
        return (E) stack.getFirst();
    }
    @Override
    public String toString(){
        StringBuilder res = new StringBuilder();
        res.append("Stack: top" );
        res.append(stack);
        return res.toString();
    }
    public static void main(String[] args){
        LinkedListStack stack=new LinkedListStack();
        System.out.println(stack.isEmpty());
        stack.push(1);
        stack.push(2);
        stack.push(3);
        stack.push(4);
        stack.push(5);
        System.out.println(stack.isEmpty());
        System.out.println(stack);
        stack.pop();
        stack.pop();
        System.out.println(stack);
    }

}
运行结果
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容