美文网首页数据结构
栈的实现(基于链表)

栈的实现(基于链表)

作者: 小小飞的救赎 | 来源:发表于2018-09-11 16:27 被阅读0次

先定义一个接口

public interface Stack<E> {
    int getSize();
    boolean isEmpty();
    boolean contains(E e);
    //入栈
    void push(E e);
    //查看栈顶的数据
    E peek();
    //出栈
    E pop();
}

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

/**
 * 基于链表实现栈
 * @author hcc
 *链表的开头是栈底,链表的末尾是栈顶
 */
public class LinkedStack<E> implements Stack<E> {
    private HLinkList<E> list;
    public LinkedStack() {
        list = new HLinkList<E>();
    }
    @Override
    public int getSize() {
        // TODO Auto-generated method stub
        return list.getSize();
    }

    @Override
    public boolean isEmpty() {
        // TODO Auto-generated method stub
        return list.isEmpty();
    }

    @Override
    public boolean contains(E e) {
        // TODO Auto-generated method stub
        return list.contains(e);
    }

    @Override
    public void push(E e) {
        // TODO Auto-generated method stub
        list.add(e);
    }

    @Override
    public E peek() {
        // TODO Auto-generated method stub
        return list.get(list.getSize()-1);
    }

    @Override
    public E pop() {
        // TODO Auto-generated method stub
        return list.remove();
    }
    
    public String toString() {
        StringBuilder str = new StringBuilder();
        str.append("LinkStack:");
        str.append(list);
        return str.toString();
    }

}

相关文章

  • 基于动态数组的实现 Java实现 基于链表的栈的实现 Java实现

  • 栈的实现

    基于顺序表的栈实现: 测试代码: 基于顺序表的链表实现: 基础数据类: 测试代码: 以为这个会比链表东西会多一些,...

  • 基于链表实现栈

    时间复杂度分析:压栈和弹栈的时间复杂度均为O(1)级别,因为只需更改单个节点的索引即可。空间复杂度分析:在入栈和出...

  • 栈的实现(基于链表)

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

  • 链表应用--基于链表实现栈

    在上几小节中我们实现了基本的链表结构,并在上一节的底部给出了有关链表的源码,此处在贴一次吧,猛戳在开始栈的实现之前...

  • 03_栈stack

    基于双端链表实现内存里的栈区 (和堆对应)后进后出

  • 数据结构java描述

    接口 栈 队列 集合 并查集 映射 数组 链表 栈 数组实现 链表实现 队列 数组实现 链表实现 二分搜索树 集合...

  • 链表实现栈(LIFO)、队列(FIFO)

    今天来用链表实现栈 栈可以用链表实现,压栈操作即在链表头赋值,弹栈只需要将链表头元素指向下一个即可 由此可见,链表...

  • 单链表实现栈(C语言)

    单链表实现栈

  • Java集合系列之LinkedList源码分析

    前言 LinkedList是基于双向链表实现的,除了可以当链表来操作,它还可以当做栈,队列以及双端队列来使用,且是...

网友评论

    本文标题:栈的实现(基于链表)

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